js 绑定事件
2013年8月8日
没有评论
通常的做法是把函数指针赋值给dom对象,例如:
function loadProcess() { //do something } window.onload = loadProcess; 或 window.onload = function() { //do something }
因为这种方法会出现覆盖的问题,因此采用此种方法可能会由于其他地方也对window对象onload事件绑定事件造成上述代码不会被执行。比较好的做法是通过attachEvent(针对IE)或addEventListener的方式来绑定事件。例如可以定义如下函数:
function bindEvent(obj, event, func) { if (obj.addEventListener) { obj.addEventListener(event, func, false); } else if (obj.attachEvent) { obj.attachEvent("on" + event, func); } } 调用方法为: function loadProcess() { //do something } bindEvent(window, 'load', loadProcess); 或采用匿名函数的方式 bindEvent(window, 'load', function() { //do something });
注意:event参数的值不需要“on”,如果同一个对象相同事件绑定了多次,则都会被执行。