js文件
function CheckNull(id)
{
//DoSomeThing
}
var CheckNewNull= function(id)
{
return function(){
CheckNull(id);
}
}
給Html元素添加方法
//創建一個textarea
std2area=document.createElement("textarea");
//設置屬性
std2area.setAttribute("id","member_Task"+position);
std2area.setAttribute("name","member_Task"+position);
//添加方法
std2area.attachEvent("onblur",CheckNewNull("member_Task"+position));
如果添加方法寫成:std2area.attachEvent("onblur",CheckNull("member_Task"+position));
或者寫成std2area.attachEvent("onblur",CheckNull);
那么會出現錯誤。原因是這樣做是將CheckNull("member_Task"+position)的返回值賦給onblur
而不是將函數CheckNull賦給該元素。所以正確的做法是將CheckNull用一個函數返回,如上所示。
最后寫寫添加方法的其它途徑:
Std2area.onblur=CheckNull;
Std2area.setAttribute(“onblur”,CheckNull);
轉自:http://www.cnblogs.com/jingtao/archive/2008/05/11/1192663.html