javascript+attachEvent传递参数问题

假定已有方法checkName

//无参数传递

function checkName(){

dosomething...

}

 

现在,对表单中某一元素通过JS添加onclick事件

一、如果不传递参数

直接这样写就可以:

obj.attachEvent("onclick",checkName);

attachEvent的第二个参数就是要调用的方法名,不用加引号,不用在方法名后加括号,

这样:obj.attachEvent("onclick","checkName")或obj.attachEvent("onclick",checkName());都是错误的写法。

或者用传统的添加事件方法也是可以的:obj.οnclick=checkName;

 

二、如果要传递参数

因为JS 闭包的原因,不能将参数直接传递,需要通过中间函数进行调用

obj.attachEvent("onclick",checkName2(obj));
function checkName(args){return function(){doSomethings...}}

或者obj.attachEvent("onclick",function (){checkName2(obj);});
//中间函数
function checkName(args){doSomethings...}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值