动态添加事件有一难题便是参数,比如 obj.onclick = Foo(1); 这是不允许的。 对于 FireFox 利用 setAttribute 比较方便,因为 setAttribute 指定事件跟 HTML 中指定事件形式一样。 而 IE 中不能用 setAttribute 添加事件,我们推荐下面这种方法: function BindEvent()
{ var msg = "参数"; if (window.attachEvent) { //支持 IE btn.attachEvent("onclick", function () { showMessage(msg) }); } else { //支持 FF btn.addEventListener("click", function () { showMessage(msg) }, false); } } function showMessage(msg) { alert(msg); } BindEvent(); |
|