javascript - a标签的取消默认行为
PHPz
PHPz 2017-04-10 15:35:03
0
11
1111
<a href="http://www.baidu.com/" onclick="func()" target="_blank">123</a>

function func(){
    alert(123);
    return false;
}
上述代码仍然跳转到百度。为什么
<a href="http://www.baidu.com/" onclick="func();return false;" target="_blank">123</a>
就可以取消跳转的默认行为。写在函数里就不行?
PHPz
PHPz

学习是最好的投资!

全部回复(11)
阿神

改成

onclick="return func()"

你的写法只是

domObj.clickHandler = function() { func(); return undefined;}
小葫芦

你需要取消a的默认行为.func(e)

e.preventDefault()
刘奇

HTML 元素里面直接填写事件有关属性,属性值为 JavaScript 代码,即可在触发该事件的时候,执行属性值的内容。

<a href="http://www.baidu.com/" onclick="func()" target="_blank">123</a>

点击链接的时候,执行onclick里面的代码,注意是执行里面的代码,而不是把func当作事件处理程序,虽然func()返回了falseonclick里面的代码并没有return false,没有取消默认行为。

黄舟

onclick后面的js如果不是函数名的话,会被包裹到一个匿名函数中进行调用。
相当于

obj.onclick= function() { func(); }

你在这里面怎么返回false也无济于事啊。

Ty80

<a href="www.baidu.com" id="alink">点击了我</a>

<script> window.onload=function(){ var link=document.getElementById("alink"); link.onclick=function(e){ alert("ok"); return false; //e.preventDefault();//这个也可以 } } </script>
阿神

非IE的用"e.preventDefault();",IE的用"window.event.returnValue = false;"或者使用return false也可以。

巴扎黑

onclick="fun()"即使fun() return false,返回值过来就是onclick="flase",因此就然并卵了。楼上的onclick="return fun()"是OK的,因为返回值过来就变成了onclick="return false"

阿神

你可以直接这样啊

<a href="javascript:void(0)" onclick="check()">点击我</a>
Ty80
<a href="javascript:;" onclick="check()">点击我</a>
小葫芦

你首先知道怎么执行的
自定义事件>默认事件>冒泡
比如这里的点击事件,你还可以拆分鼠标移入,鼠标按下,鼠标弹起等等..这是需要考虑到具体情况的
简单的说 他有一个事件event对象,而这个event实现一个接口then,从而实现链式调用event

如果仅仅阻止默认 event.returnvalue=false;
jq库有e.stopproxxxxx阻止冒泡

------------------fix----------------------
其实上面所说的还是不准确的.可以去试试看异步编程 promise/A

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!