2011-02-01 91 views
4

我有以下HTML:如何更改此圖片的點擊處理程序?

<img src='img.png' onclick='document.write("Hi there!")' /> 

...和下​​面的JavaScript:

$(document).ready(function() { 

    // Change the click handler 
    $('img').click(function() { 

     alert("Hi there!"); 

    }); 

}); 

我所期待發生的事情是,對於圖片的點擊處理程序被替換,並且單擊它會產生一個警告對話框。相反,頁面內容會隨標記中的點擊處理程序的指示而發生變化。

如何在運行時更改點擊處理程序?

注:這是一個互動的演示中,你可以玩:
http://jsfiddle.net/ykmaG/

+0

+1,我從來沒想過這個! – JCOC611 2011-02-01 23:36:38

+0

+1爲一個可愛的例子。 – SLaks 2011-02-01 23:37:10

回答

8

您需要刪除原始onclick

$('img').removeAttr('onclick').click(function() { ... }); 
0

我不會用onclick屬性,而不是堅持用jQuery點擊()。請參閱Unbind()

這有幫助嗎?