阻止浏览器默认的事件冒泡行为

事实上stoppropagation和cancelBubble的作用是一样的,都是用来阻止浏览器默认的事件冒泡行为。

不同之处在于stoppropagation属于W3C标准,试用于Firefox等浏览器,但是不支持IE浏览器。相反cancelBubble不符合W3C标准,而且只支持IE浏览器。所以很多时候,我们都要结合起来用。不过,cancelBubble在新版本chrome,opera浏览器中已经支持。

语法:e.stopPropagation();

参数e:表示事件传递的参数,代表事件的状态。

http://www.365mini.com/page/jquery-event-stoppropagation.htm

/*左侧导航栏出现和消失*/
    $(".show-list").unbind("click").click(function(){if(window.event) event.cancelBubble = true;
        else event.stopPropagation();
        $(".cr-sider-bar").show();
    });
    /*点击屏幕任何部位弹出框消失*/
    $(document).click(function(){
        $(".cr-sider-bar").hide();
        $(".crbox-opra").hide();
    })
    

实现:点击show-list时,出现左侧导航栏,点击屏幕任意地方,左侧导航栏消失

时间: 2024-10-11 05:30:20

阻止浏览器默认的事件冒泡行为的相关文章

JS 阻止浏览器默认行为和冒泡事件

JS 冒泡事件 首先讲解一下js中preventDefault和stopPropagation两个方法的区别: preventDefault方法的起什么作用呢?我们知道比如<a href="http://www.baidu.com">百度</a>,这是html中最基础的东西,起的作用就是点击百度链接到http://www.baidu.com,这是属于<a>标签的默认行为,而preventDefault方法就是可以阻止它的默认行为的发生而发生其他的事情

五,事件对象、阻止浏览器默认动作、阻止事件冒泡

在jquery里边: $().bind(‘click’,function(evt){ evt.preventDefault(); evt.stopPropagation(); }); preventDefault()方法是jquery的方法,名字与js底层代码的名字一致而已. 并且其有做浏览器兼容处理(阻止浏览器默认行为) stopPropagation()方法是jquery的方法,名字与js底层代码的名字一致. 其有做浏览器兼容处理(阻止事件冒泡) 解析: $().bind(‘click’,f

JQuery 阻止js事件冒泡 阻止浏览器默认操作

//阻止事件冒泡 event.stopPropagation(); //阻止浏览器默认操作 event.preventDefault(); 代码不一定能执行,写给自己看的. 事件冒泡: 1 <a href="javascript:alert('啦啦啦');"> 2 <ul onclick="alert('德玛西亚');"> 3 <li onclick="alert('大盖伦');"></li> 4

理解阻止浏览器默认事件和事件冒泡cancelBubble

一.阻止浏览器默认事件 1.先举个例子说什么是 浏览器的默认事件 : 比如有一个输入框,当我按下字母a,就会在输入框显示字母a.就是浏览器本该发生的事情.小孩子一出生就会汲取母乳一样的道理,这些都是先天,默认好的了. 2.看个demo,阻止浏览器默认的右键弹出菜单,而且弹出自己自定义的菜单.代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style type=&

js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)

网上有关这方面的代码比较多而乱,这里整理一下并加以改进. 添加事件 var addEvent = function( obj, type, fn ) { if (obj.addEventListener) obj.addEventListener( type, fn, false ); else if (obj.attachEvent) { obj["e"+type+fn] = fn; obj.attachEvent( "on"+type, function() {

JavaScript停止冒泡和阻止浏览器默认行为

事件兼容 function myfn(e){ var evt = e ? e:window.event; } js停止冒泡 function myfn(e){ window.event? window.event.cancelBubble = true : e.stopPropagation(); } js阻止默认行为 function myfn(e){ window.event? window.event.returnValue = false : e.preventDefault(); }

js停止冒泡和阻止浏览器默认行为

停止冒泡通用方法: function stopBubble(e) { //如果提供了事件对象,是非IE浏览器 if ( e && e.stopPropagation ) //使用W3C的stopPropagation()方法 e.stopPropagation(); else //使用IE的cancelBubble = true来取消事件冒泡 window.event.cancelBubble = true; } 阻止浏览器默认行为-通用方法 //阻止浏览器的默认行为 function s

js阻止浏览器默认事件

1.阻止浏览器的默认行为 function stopDefault(e) { //如果提供了事件对象,则这是一个非IE浏览器 if(e && e.preventDefault) { //阻止默认浏览器动作(W3C) e.preventDefault(); } else { //IE中阻止函数器默认动作的方式 window.event.returnValue = false; } return false; } 2.停止事件冒泡 function stopBubble(e) { //如果提供

关于iscroll阻止浏览器默认动作

使用iscroll时,移动端遇到需要长按复制功能,但是iscroll屏蔽了浏览器默认事件,所以实现不了. 解决方案: myScroll = new IScroll('#wrapper',{ preventDefault:false, });//去掉屏蔽 /*----------------------------------------*/ document.addEventListener("touchmove",function(e){ e.preventDefault(); },