我有外部链接,使用javascript onclick事件呈现图像。
我需要停止此点击事件。我该怎么做?
例如:
Html is render by external script:
<div class="demo-link">
<img alt="" onclick="verifylock();" src="https://example.com" style="cursor:pointer;cursor:hand">
</div>
我用jquery尝试了这个但没有运气:
$(".demo-link > img").click(function(e){
e.preventDefault();
});
答案 0 :(得分:1)
答案 1 :(得分:1)
你总是可以从onClick事件处理程序,调用preventDefault,stopImmediatePropagation或其他方法返回false,但是因为在onjQuery onclick之前调用了HTML onclick,所以这里没有用。如果你不想简单地删除&#39; onclick&#39;从HTML中,您可以通过编程方式进行更改(甚至可以使用jquery data()方法进行存储,以备将来使用)。
$(".demo-link > img").each(function(e) {
$(this).onclick = function() { // overriding the onclick
return false;
}
});
下面的工作代码段:
function defaultOnClick() {
alert('Default event handler invoked!');
}
$('.clickable').each(function() {
$(this).data('onClickBackup', this.onclick);
this.onclick = function(event) {
alert('Overriden onclick');
return false;
// if you need to ever call the original onclick, then call below
// $(this).data('onClickBackup').call(this, event || window.event);
};
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class="clickable" onclick="defaultOnClick()">Click me!</div>
&#13;
答案 2 :(得分:0)
$(".demo-link > img").click(function(e){
return false;
});
答案 3 :(得分:0)
您正在使用img标签中的onclick编写事件并单击并调用函数。所以从img标签中删除onclick,如。
<img alt="" src="https://example.com" style="cursor:pointer;cursor:hand">
如果你想调用一个函数verifylock()从处理程序中调用它来点击
答案 4 :(得分:0)
使用return false;
<img alt="" onclick="verifylock(); return false;" src="https://example.com" style="cursor:pointer;cursor:hand">
</div>