li标签和a标签的点击时间如何同时触发(涉及JS的默认事件,冒泡,捕获)

参考作者献上:http://caibaojian.com/javascript-stoppropagation-preventdefault.html

页面中的所有#menus1 li 都绑定了click()事件,需求是当点击<li>菜单的时候触发<li>以及<li>下的<a>标签的点击时间,<li>click是给<li>加class标记被选择,<a>标签click是打开页面,遇到问题是,<a>标签的事件触发了但是<li>标签的时间没有触发?

发现:

$("#testC").on('click',function(){
return false;
});

JQuery中return false;的含义是阻止事件的默认行为和冒泡,所以导致没有成功触发上级标签的点击事件,最后改成

只阻止默认行为:

//阻止浏览器的默认行为 
function stopDefault( e ) { 
    //阻止默认浏览器动作(W3C) 
    if ( e && e.preventDefault ) 
        e.preventDefault(); 
    //IE中阻止函数器默认动作的方式 
    else 
        window.event.returnValue = false; 
    return false; 
}

猜你喜欢

转载自blog.csdn.net/a1_HelloWord/article/details/106722926