如何动态分配DOM事件然后执行它?

时间:2012-12-17 13:17:06

标签: javascript event-handling

我试图在一个期望事件处理的函数中执行DOM事件,例如onmouseover,onclick等,通过名称作为函数参数,如下所示:

...

doSomething(target, 'onmouseover');

doSomething : function(tgt, evt)
{
   ...
   o.evt = function() {
      alert(evt);
   }
   ...
}

...

赋值不会抛出任何错误,所以我猜,它在语法上是正确的,但它也不会发出警报。为什么呢?

(请不要建议使用框架。我想了解我的错误以及如何管理这些内容。)

1 个答案:

答案 0 :(得分:2)

您可以使用[]表示法动态分配事件:

<强> Demo

var obj = {
   doSomething : function(tgt, evt)
   {
      tgt[evt] = function() {
         alert(evt);
      }
   }
};

obj.doSomething(document.getElementById("test"), 'onmouseover');
​