0

onmouseover、onclickなどのイベントが処理することを期待する関数内で、次のような関数パラメーターとして名前でDOMイベントを実行しようとしています。

...

doSomething(target, 'onmouseover');

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

...

割り当てはエラーをスローしないので、構文的には正しいと思いますが、アラートも実行しません。なんで?

(フレームワークの使用はお勧めしません。私の間違いとこれを管理する方法を理解したいと思います。)

4

1 に答える 1

2

[]次の表記を使用して、イベントを動的に割り当てることができます。

デモ

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

obj.doSomething(document.getElementById("test"), 'onmouseover');
​
于 2012-12-17T13:23:02.610 に答える