2013-12-15 30 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之一,但不知道用第一個例子顯示的括號直接附加窗口方法的語法(這正是我需要的)。謝謝! –