2015-08-17 115 views
0

刪除或禁用錨點標記上的onclick事件的最佳方法是什麼?這裏的HTML,我們已經建立了:使用jquery刪除錨點標記的onclick

<a onclick="doSomething('')" href="#"><div id="link-text">Link here</div></a> 

嘗試過這樣的事情,但它似乎沒有工作:

$('[id="cswp-like-text').parent().prop('onclick',null).off('click'); 
+3

你可以試試'$('一').on('click',function(e){e.preventDefault(); //你的代碼在這裏});' – Sushil

+3

你的選擇器無效''[id =「cswp-like-text'' – Stryner

+0

[將'onclick'屬性設置爲null](https://jsfiddle.net/n6fd79z2/) – sdgluck

回答

1

更新:
隨着React的新理念,混合HTML用JS代碼推薦!

它被認爲是不好的做法,嵌入HTML元素(onclick="function(){}"例如)裏面的js代碼,而不是 你鼓勵定義一個腳本部分或內外部js文件

再回到事件你的問題,你可以利用使用addEventListener()removeEventListener()由JavaScript提供和支持現代瀏覽器方法,這裏是用純JavaScript(香草)一個簡單的例子:

<a href="#" id="link">mylink</a> 

,在這裏它的JS部分:

// a function to be executed whenever an event occur 


var myFunction = function(){ 
     console.log('element with id link is clicked '); 
    }; 

    var a = document.getElementById('link'); 
    // add event listener for the click event 
    a.addEventListener('click',myFunction); 

    // remove the event listener 
    a.removeEventListener('click',myFunction); 

一個jQuery equivalente解決方案是使用.unbind( '事件名稱')

var a = $('#link'); 
$(a).unbind('click');