2013-12-15 23 views
0

我不知道该怎么问,这可能是我找不到答案的原因,或者它不可能。传递并追加JavaScript Window方法?

我想传入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的解决方案;我只是想知道,如果以某种方式调整,我显示的内容是否可能。

谢谢。

+0

可以添加一个用例?很难理解你需要什么 – arieljuod

回答

2

你是不是说你想指定处理程序?然后用括号标记:

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

您也可以使用标准的addEventListener这是比较合适的:

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

完美。我很接近。我使用了addEventListener之一,但不知道用第一个例子显示的括号直接附加窗口方法的语法(这正是我需要的)。谢谢! –