[英]onfocus & onblur not working in IE
我已经编写了一些代码,使我可以在输入表单上添加一些变灰的文本,并且当用户专注于该文本时,该文本将消失并变为不变灰的状态,如果可以的话...
function editableAlt (elem, colour1, colour2) {
var elem = document.getElementById(elem);
elem.onfocus = function () {
if(this.value == this.defaultValue) {
this.value = ""; // remove the default text, so the user can enter their own
this.style.color = "#" + colour1; // change the text colour
}
};
elem.onblur = function () {
if(this.value == '') {
this.value = this.defaultValue; // user left it blank? revert back to the default text
this.style.color = "#" + colour2; // and change the colour back too
}
}
}
这适用于大多数页面,但是由于某种原因,onfocus和onblur根本不起作用-例如,如果我将其更改为onclick,则不会触发任何问题。
还有什么我可以尝试的吗? :(我正在使用JQuery,但是删除它似乎根本不会影响它。
干杯
我发现当涉及到JavaScript错误时,IE绝对无法原谅。 我通过jslint运行了您的代码,并收到以下错误:
错误:第2行字符14处的问题:'elem'已经定义。
var elem = document.getElementById(elem);
第10行第23个字符的问题:使用“ ===”与“”进行比较。
if(this.value == '') {
第14行字符6处的问题:缺少分号。
}
隐含全球:文件2
不要试图无所顾忌地帮助您或任何事情,但是我猜如果您修复这些错误,您将看到更理想的结果。 祝好运!
真是个白痴,对不起! 我尝试删除所有其他Javascript文件,但是错过了最重要的一个,那就是它用PHP和IE if语句包装,噢!
应用了Suckerfish sfFocus导致其破裂: http ://htmldog.com/articles/suckerfish/shoal/
抱歉:(&非常感谢您的建议
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.