繁体   English   中英

onfocus和onblur在IE中不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM