传递并附加JavaScript Window方法?

时间:2013-12-15 05:09:59

标签: javascript

我不知道怎么问这个,这可能就是为什么我找不到答案,或者说这是不可能的。

我想传入一个JavaScript Window对象方法;那可能吗?

以下是一个例子:

function change(winObj) {
     document.getElementById('someButton').winObj = function() { // whatever };

   //Could be equivalent to:
   //document.getElementById('someButton').onclick = function() { // whatever };
   //OR
   //document.getElementById('someButton').onmouseover = function() { // whatever };
   //...etc.
}

我不是在寻找jQuery或纯JS解决方案;我只是想知道如果以某种方式进行调整我是否可以展示。

感谢。

1 个答案:

答案 0 :(得分:2)

您是不是想要指定处理程序?然后使用括号表示法:

function change(eventName) {
  document.getElementById('someButton')[eventName] = function() {
    //whatever
  };
}

您还可以使用更合适的标准addEventListener

function change(eventName) {
  document.getElementById('someButton').addEventListener(eventName,function{
    //whatever
  });
}