gpt4 book ai didi

javascript - onfocus 和 onblur 在 IE 中不起作用

转载 作者:行者123 更新时间:2023-11-30 23:51:16 25 4
gpt4 key购买 nike

我编写了一些代码,允许我在输入表单上显示一些灰色文本,当用户将注意力集中在它上时,文本将消失并变为非灰色,如果这有意义的话......

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,但删除它似乎根本不会影响它。

干杯

最佳答案

我发现 IE 在处理 JavaScript 错误时极其不宽容。我通过 jslint 运行了您的代码并收到以下错误:

<小时/>

错误:第 2 行第 14 行字符出现问题:“elem”已定义。

var elem = document.getElementById(elem);

第 10 行第 23 行的问题:使用 '===' 与 '' 进行比较。

if(this.value == '') {

第 14 行第 6 个字符出现问题:缺少分号。

}

隐含的全局:文档 2

<小时/>

不想吝惜帮助您或任何事情,但我猜如果您修复这些错误,您会看到更理想的结果。祝你好运!

关于javascript - onfocus 和 onblur 在 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1477757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com