技巧 Html元素的动态添加方法

 今天做东东的时候要用js创建html元素然后动态给该元素添加方法,走了不少弯路。最后把解决方法发布,让大家以后少走弯路。

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.οnblur=CheckNull;

  Std2area.setAttribute(“onblur”,CheckNull);


 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值