以编程方式添加多个javascript事件
我已使用以下内容成功添加了表单提交事件代码:
li
现在我在页面text1上有一个文本框,我希望在焦点需要时清除它的值。
我尝试添加以下内容:
if (window.addEventListener){
window.addEventListener('load', attachFormSubmit, false);
}else if (window.attachEvent){
window.attachEvent('onload', attachFormSubmit );
}
我在window load事件中添加了对attachFocus的调用:
function attachFocus()
{
var txt = document.getElementById("text1");
if (txt.addEventListener){
txt.addEventListener('focus', ClearText(txt.id), false);
}else if (txt.attachEvent){
txt.attachEvent('focus', ClearText(this.id));
}
}
function ClearText(id)
{
var obj = document.getElementById(id);
obj.value='';
}
因此,我为文本框焦点事件添加的代码不起作用。有人可以向我指出我做错了什么,并建议通过javascript添加事件的更好方法。我不想使用内联javascript
答案 0 :(得分:3)
撰写ClearText(txt.id)
你没有传递这个功能
你调用函数
你应该写:
txt.attachEvent('focus', function() {clearText(txt.id);});
或者:
txt.addEventListener('focus', ClearText.bind(txt), false);
function ClearText() {
var obj = document.getElementById(this.id);
obj.value = '';
}