2017-02-15 41 views
0

我想是這樣的:如何使用JavaScript將函數分配給元素?

div.onclick = function(x, y); 

我怎麼能做到這一點,而不執行功能?

我不想使用jQuery。

+0

只是谷歌'addEventListener'爲它 –

+0

將函數調用到一個匿名函數中,或使用'bind' – 4castle

+0

沒有使用EventListeners沒有什麼是沒有的? – Progaros

回答

0
var NewFunction = function(x){ 
// your function code 
}; 
div.onclick = NewFunction; 
+0

我需要這些括號中的參數 – Progaros

+1

當調用NewFunction時,它將傳遞一個參數(事件對象),但是你已經寫了它來期待兩個參數。以大寫字母開頭的函數名稱傳統上是爲JavaScript中的構造函數保留的,這不是一個。 – Quentin

+0

@Progaros因爲「click」是一個系統生成的事件,所以事件詳細信息會在觸發時自動作爲第一個參數傳遞。 – MrClan

1

()放到函數後會調用它。所以不要這樣做。

div.onclick = function; // Note: function is a keyword and can't really be used as a variable name 

那將不會調用你想要的參數的函數。事件處理函數總是用一個參數調用:事件對象。

你需要創建一個新的函數來調用你的參數。

function myhandler(event) { 
    function(x, y); // Still not a valid name 
} 
div.onclick = myhandler; 
0
var myFunction = function(x,y){ 
    //Some code here 
}; 
div.onclick = function(){ return myFunction(x, y); } 

在第二個功能分配你ofcourse應該替換x和y的東西知道這方面。

相關問題