删除或禁用锚标记上的onclick事件的最佳方法是什么?这是我们设置的HTML:
<a onclick="doSomething('')" href="#"><div id="link-text">Link here</div></a>
尝试过这样的事情,但它似乎不起作用:
$('[id="cswp-like-text').parent().prop('onclick',null).off('click');
答案 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');