js中用return false 阻止默认行为
方式1:有效
<div>
<a href="www.baidu.com">sfdhsdh</a>
</div>
<script>
var elem=document.querySelector('a');
elem.onclick=function(){return false;}
//或者elem.onclick=abc;
//function abc(){return false;}
//相当于elem.onclick=function(e){e.preventDefault();}
</script>
方式2:无效
<div>
<a href="www.baidu.com">sfdhsdh</a>
</div>
<script>
var elem=document.querySelector('a');
elem.addEventListener('click', abc, false);
function abc(){return false;}
//function abc(e){e.preventDefault();}有效
</script>
方式3:无效
var elem=document.querySelector('a');
elem.addEventListener('click', function(){return false;}, false);
方式4:有效
<div>
<a href="www.baidu.com" onclick="return false;">sfdhsdh</a>
</div>
方式5:无效
<div>
<a href="www.baidu.com" onclick="abc()">sfdhsdh</a>
</div>
<script>
function abc(){return false;}
</script>
方式6:有效
<div>
<a href="www.baidu.com" onclick="abc();return false;">sfdhsdh</a>
</div>
<script>
function abc(){console.log('abc');}
</script>
js中return false只能阻止浏览器的默认行为,不能阻止冒泡
<div>
<a href="www.baidu.com" onclick="return false;">sfdhsdh</a>
</div>
<script>
var div=document.querySelector('div');
div.addEventListener('click', abc, false);
function abc(e){console.log('aaa');}
//点击链接
//aaa
jquery中return false既能阻止默认事件,又能阻止冒泡
<div>
<a href="www.baidu.com">sfdhsdh</a>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$('a').on('click',function(){return false;})
$('div').on('click', abc);
function abc(e){console.log('aaa');}
</script>
不会输出‘aaa’