2016-07-04 63 views
1

我有關於這一點我想禁用click事件的圖像,所以我必須使用解除綁定事件如下圖所示圖像爲什麼取消綁定事件不工作

$('#myimage').unbind("click"); 

但是你可以請告訴我爲什麼點擊事件仍在工作?

這是我的代碼

$(document).ready(function() { 
    $('#myimage').unbind("click"); 
}) 

$(document).on('click', ' #myimage', function (event) { 
    alert('i am called'); 
}); 

這是我的小提琴

http://jsfiddle.net/ygbxdspc/5/

+0

你正在添加點擊處理程序到'document',然後嘗試從它的圖像中刪除它小精靈。 – Andreas

+0

你正在使用不同的技術來綁定事件,因此它沒有得到解除綁定。 – vijayP

回答

3

在小提琴的問題是你的代碼塊是在document.ready處理程序已經運行(由於設置你已選擇),因此在事件被綁定之前調用unbind(),因此no event is removed

要解決的實際問題,你需要使用off()方法的委託形式最初連接使用on()委託的事件處理程序,如下所示:

<script> 
    $(document).ready(function() { 
     $(document).off('click', '#myimage'); 
    }) 

    $(document).on('click', '#myimage', function(event) { 
     alert('i am called'); 
    }); 
</script> 

Working example

注意,在這個JS代碼的設置被設置爲'沒有換 - <head>'

+0

非常感謝,非常非常有用 – Pawan