2012-03-05 75 views
0

事件處理函數,我有以下的JavaScript代碼,它工作正常 -無法添加使用jQuery

var changeImageButton = document.getElementById("changeImageButton"); 
changeImageButton.onclick = buttonWasClicked; 

「buttonWasClicked」是JavaScript函數在單擊「changeImageButton」時調用的名稱。

現在,我想用JQuery編寫相同的代碼。所以我寫了 -

$("#changeImageButton").attr("onclick","buttonWasClicked"); 

但它不工作。我究竟做錯了什麼?

+0

什麼是錯的是你神奇地切換到使用的字符串,沒有明顯的原因。 – 2012-03-05 21:08:39

+0

原因是我對jQuery和JavaScript知之甚少! – CodeBlue 2012-03-05 21:12:45

+0

你讀過一本書嗎? – 2012-03-05 21:14:03

回答

4

您可以用幾種不同的方法實現這一

$("#changeImageButton").click(function(){ do_something(); }); 

$("#changeImageButton").on("click mouseover", function(){ do_something(); }); 
//this is useful because you can specify more than one event, if you want to 
//(so, this code would also trigger when you move the mouse over - not what 
// you want, but just for demonstration purposes) 

//In jQuery 1.7+ this is doubly useful, because this will also work with elements 
//added _after_ the DOM has initially loaded and this code has run 
+0

哇。謝謝你。 – CodeBlue 2012-03-05 21:14:18

2

jQuery有一個click()分配點擊事件的方法。

$("#changeImageButton").click(buttonWasClicked); 
2

您需要註冊一個事件,而不是添加一個屬性:

$("#changeImageButton").click(buttonWasClicked); 
+0

感謝您的解釋。 – CodeBlue 2012-03-05 21:15:28

0

什麼的jQuery版本你正在用嗎?

這裏有添加事件偵聽器的jQuery的教程:http://api.jquery.com/click/

$("#changeImageButton").click(function() { 
    buttonWasClicked(); 
});