我试图在一个期望事件处理的函数中执行DOM事件,例如onmouseover,onclick等,通过名称作为函数参数,如下所示:
...
doSomething(target, 'onmouseover');
doSomething : function(tgt, evt)
{
...
o.evt = function() {
alert(evt);
}
...
}
...
赋值不会抛出任何错误,所以我猜,它在语法上是正确的,但它也不会发出警报。为什么呢?
(请不要建议使用框架。我想了解我的错误以及如何管理这些内容。)
答案 0 :(得分:2)
您可以使用[]
表示法动态分配事件:
<强> Demo 强>
var obj = {
doSomething : function(tgt, evt)
{
tgt[evt] = function() {
alert(evt);
}
}
};
obj.doSomething(document.getElementById("test"), 'onmouseover');