如何防止onclick方法中的默认事件处理?
如何在onclick方法中防止默认? 我有一个方法,我也传递一个自定义的值
<a href="#" onclick="callmymethod(24)">Call</a> function callmymethod(myVal){ //doing custom things with myVal //here I want to prevent default }
让您的callback返回false
并将其传递给onclick
处理程序:
<a href="#" onclick="return callmymethod(24)">Call</a> function callmymethod(myVal){ //doing custom things with myVal //here I want to prevent default return false; }
但是,为了创build可维护的代码,您应该放弃使用“内联Javascript” (即:直接在元素标签内的代码),并通过包含的Javascript源文件(它被称为不显眼的Javascript )来修改元素的行为。
加价:
<a href="#" id="myAnchor">Call</a>
代码(单独的文件):
// Code example using Prototype JS API $('myAnchor').observe('click', function(event) { Event.stop(event); // suppress default click behavior, cancel the event /* your onclick code goes here */ });
尝试
<a href="#" onclick="callmymethod(24); return false;">Call</a>
在我看来,答案是错的! 他要求event.preventDefault();
当你简单地返回false; 它调用event.preventDefault();
AND event.stopPropagation();
以及!
你可以这样解决:
<a href="#" onclick="callmymethod(event, 24)">Call</a> function callmymethod(event, myVal){ //doing custom things with myVal //here I want to prevent default event.preventDefault(); }
这对我有效
<a href="javascript:;" onclick="callmymethod(24); return false;">Call</a>
您可以捕获事件,然后使用preventDefault()来阻止它 – 使用纯Javascript
document.getElementById("xyz").addEventListener('click', function(event){ event.preventDefault(); console.log(this.getAttribute("href")); /* Do some other things*/ });
只需将“javascript:void(0)”放在href标记中的“#”位置即可
<a href="javascript:void(0);" onclick="callmymethod(24)">Call</a>
给一个类或id给元素并使用jquery函数unbind();
$(".slide_prevent").click(function(){ $(".slide_prevent").unbind(); });