js动态创建元素的元素添加事件问题:我知道如何添加事件,但是不知道如何添加带参数的事件。

我知道如何添加事件,但是不知道如何添加带参数的事件。
var input_img=document.createElement('input');
input_img.type='file';
input_img.onchange=test(this); 这样写不行!!!!
请问如何写 才能在每次调用事件的时候把本身作为参数传递给 test方法。

function test(obj){
alert(obj.value);
}

第1个回答  2012-05-09
input_img.onchange=function(){
test(obj)
};
第2个回答  2012-05-10
我帮你写了一个例子,可以把自身作为参数传递:
点击按钮b1,传入另一个按钮b2,b2的onclick事件为 test2(this)。 满足要求请采纳。
<body>
<script type="text/javascript">
function test(obj){
alert(obj.value);
}

function test1(){
var obj = document.createElement("input");
obj.type="button";
obj.value="b2";
//以下两句都可以
obj.onclick=function(){test(this)};
//obj.setAttribute("onclick",function(){test(this)});
var b1 = document.getElementById("b1");
document.body.insertBefore(obj, b1);
}
</script>
<input type="button" id="b1" value="b1" onclick="test1()"/>
</body>本回答被提问者采纳
相似回答