如何防止 onclick 方法中的默认值?我有一个方法,我也在其中传递自定义值
<a href="#" onclick="callmymethod(24)">Call</a>
function callmymethod(myVal){
//doing custom things with myVal
//here I want to prevent default
}
如何防止 onclick 方法中的默认值?我有一个方法,我也在其中传递自定义值
<a href="#" onclick="callmymethod(24)">Call</a>
function callmymethod(myVal){
//doing custom things with myVal
//here I want to prevent default
}
让您的回调返回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;
}
但是,要创建可维护的代码,您应该避免使用“内联 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 */
});
在我看来答案是错误的!他问event.preventDefault();
你什么时候简单返回false;它也调用event.preventDefault();
AND event.stopPropagation();
!
你可以这样解决:
<a href="#" onclick="callmymethod(event, 24)">Call</a>
function callmymethod(e, myVal){
//doing custom things with myVal
//here I want to prevent default
e = e || window.event;
e.preventDefault();
}
试试这个(但请对这样的情况下使用的按钮,如果你没有一个有效href
的value优雅降级)
<a href="#" 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>