使用jquery删除锚标记上的onclick

时间:2015-08-17 19:18:50

标签: jquery anchor

删除或禁用锚标记上的onclick事件的最佳方法是什么?这是我们设置的HTML:

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

尝试过这样的事情,但它似乎不起作用:

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

1 个答案:

答案 0 :(得分:1)

<强>更新
使用React的新哲学,建议将HTML与JS代码混合使用!

将js代码嵌入到html元素(例如onclick="function(){}")中被认为是一种不好的做法, 相反,我们鼓励您在脚本部分或外部.js文件中定义事件

回到你的问题,你可以利用JavaScript提供的 addEventListener() removeEventListener()方法,并支持现代网络浏览器,这里很简单使用纯JavaScript(vanilla)的示例:

<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等效解决方案是使用 .unbind('event name')

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