Highlight submit for syntax highlighted textareas
This commit is contained in:
parent
0d074077bb
commit
07ba250939
|
@ -30,7 +30,10 @@ function bodyLoad(version) {
|
||||||
var tags = document.getElementsByTagName('textarea');
|
var tags = document.getElementsByTagName('textarea');
|
||||||
for (var i = 0; i < tags.length; i++) {
|
for (var i = 0; i < tags.length; i++) {
|
||||||
if (/(^|\s)jush-/.test(tags[i].className)) {
|
if (/(^|\s)jush-/.test(tags[i].className)) {
|
||||||
jush.textarea(tags[i]);
|
var pre = jush.textarea(tags[i]);
|
||||||
|
if (pre) {
|
||||||
|
setupSubmitHighlightInput(pre);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -636,19 +636,26 @@ function setupSubmitHighlight(parent) {
|
||||||
for (var key in { input: 1, select: 1, textarea: 1 }) {
|
for (var key in { input: 1, select: 1, textarea: 1 }) {
|
||||||
var inputs = parent.getElementsByTagName(key);
|
var inputs = parent.getElementsByTagName(key);
|
||||||
for (var i = 0; i < inputs.length; i++) {
|
for (var i = 0; i < inputs.length; i++) {
|
||||||
if (!/submit|image|file/.test(inputs[i].type)) {
|
setupSubmitHighlightInput(inputs[i])
|
||||||
addEvent(inputs[i], 'focus', inputFocus);
|
|
||||||
addEvent(inputs[i], 'blur', inputBlur);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Setup submit highlighting for single element
|
||||||
|
* @param HTMLElement
|
||||||
|
*/
|
||||||
|
function setupSubmitHighlightInput(input) {
|
||||||
|
if (!/submit|image|file/.test(input.type)) {
|
||||||
|
addEvent(input, 'focus', inputFocus);
|
||||||
|
addEvent(input, 'blur', inputBlur);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** Highlight default submit button
|
/** Highlight default submit button
|
||||||
* @this HTMLInputElement
|
* @this HTMLInputElement
|
||||||
*/
|
*/
|
||||||
function inputFocus() {
|
function inputFocus() {
|
||||||
var submit = findDefaultSubmit(this.form);
|
var submit = findDefaultSubmit(this);
|
||||||
if (submit) {
|
if (submit) {
|
||||||
alterClass(submit, 'default', true);
|
alterClass(submit, 'default', true);
|
||||||
}
|
}
|
||||||
|
@ -658,18 +665,21 @@ function inputFocus() {
|
||||||
* @this HTMLInputElement
|
* @this HTMLInputElement
|
||||||
*/
|
*/
|
||||||
function inputBlur() {
|
function inputBlur() {
|
||||||
var submit = findDefaultSubmit(this.form);
|
var submit = findDefaultSubmit(this);
|
||||||
if (submit) {
|
if (submit) {
|
||||||
alterClass(submit, 'default');
|
alterClass(submit, 'default');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Find submit button used by Enter
|
/** Find submit button used by Enter
|
||||||
* @param HTMLFormElement
|
* @param HTMLElement
|
||||||
* @return HTMLInputElement
|
* @return HTMLInputElement
|
||||||
*/
|
*/
|
||||||
function findDefaultSubmit(form) {
|
function findDefaultSubmit(el) {
|
||||||
var inputs = form.getElementsByTagName('input');
|
if (el.jushTextarea) {
|
||||||
|
el = el.jushTextarea;
|
||||||
|
}
|
||||||
|
var inputs = el.form.getElementsByTagName('input');
|
||||||
for (var i = 0; i < inputs.length; i++) {
|
for (var i = 0; i < inputs.length; i++) {
|
||||||
var input = inputs[i];
|
var input = inputs[i];
|
||||||
if (input.type == 'submit' && !input.style.zIndex) {
|
if (input.type == 'submit' && !input.style.zIndex) {
|
||||||
|
|
2
externals/jush
vendored
2
externals/jush
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit 06a7c7d73e2d031a493d1f07d37733aba94399f2
|
Subproject commit 12e6421d5a02ba8c3e2db2b4080187053b9a4655
|
Loading…
Reference in a new issue