js阻止事件冒泡

今天遇到一个小问题:

<div><li></li></div>

div本身有click事件 然后li也有click事件
当触发li标签的click事件时,div的click事件也会触发
因此加了e.stopPropagation();来阻止事件冒泡
但是Firefox对e不兼容,于是加了e = e||window.event;

e = e||window.event;
e.stopPropagation();    //  阻止事件冒泡
queryUnsualMenu : function(flag){
        $.syncReq({
            data : {
                "reqUrl"    : "homeMenu",
                "queryFlag" : "queryMyUsualMenu"
            },
            success : function(data){
                var result = eval("("+data+")");

                var html="<dl class='fixed-mymenu-open'>";
                    html+="<dt><i>&gt;&gt;</i>我的常用菜单</dt>";
                    html+="<dd>";
                if (result && result.resultCode == "0"){
                    var obj = result.resultObj;
                    var menuList= obj.myUsualMenuList;
                    if(menuList&&menuList.length >0){
                        for(var i = 0; i < 8; i++){
                            if(menuList.length>i){
                                html+="<a class='added' href='javascript:;' name='home_iframe_"+menuList[i].F_MENU_NUM+"' data-url='" + menuList[i].F_MENU_URL+"' data-tip='"+menuList[i].F_MENU_NUM+"_TIP'  title='"+menuList[i].F_MENU_NAME+"'>"+menuList[i].F_MENU_NAME+"<i class='delete'  value='"+menuList[i].F_MENU_NUM+"' title='删除'></i></a>";
                            }else{
                                html+="<a class='add' href='javascript:;' title='添加'></a>";
                            }
                        }
                    }else
                    {
                        for(var i = 0; i < 8; i++){
                            html+="<a class='add' href='javascript:;' title='添加'></a>";
                        }
                    }
                }else{
                    for(var i = 0; i < 8; i++){
                        html+="<a class='add' href='javascript:;' title='添加'></a>";
                    }
                }
                html+="</dd>";
                html+="</dl>";
                var open = $([html].join(''));
                var close = $('<a class="fixed-mymenu-close" href="javascript:;"><i>&lt;&lt;</i>我的常用菜单</a>');
                if($('.fixed-mymenu-open').length) {$('.fixed-mymenu-open').remove();}
                $('body').append(open);
                if($('.fixed-mymenu-close').length) {$('.fixed-mymenu-close').remove();}
                $('body').append(close);
                if(!flag){
                    $('.fixed-mymenu-open').hide();
                    $('.fixed-mymenu-close').animate({right:0},200);
                }
                $('.fixed-mymenu-open').on('click','dt',function(){
                    $(this).parent().animate({right:'-160px'},200);
                    $('.fixed-mymenu-close').animate({right:0},200);
                });
                $('.added').on('click','.delete',function(e){
                    //删除数据库信息
                    var menuNum = $(this).attr('value');
                    usualMenuServiceComponent.deleteMenu(menuNum,e);
                    e = e||window.event;
                    e.stopPropagation();    //  阻止事件冒泡
                });
                $('.fixed-mymenu-open').on('click','.added',function(e){
                    var menuText = $(this).attr('title'),
                    menuNum = $(this).attr('name'),
                    url = $(this).attr('data-url');
                    usualMenuServiceComponent.openMenu(menuText,menuNum,url);
                    e = e||window.event;
                    e.stopPropagation();    //  阻止事件冒泡
                });
                $('.fixed-mymenu-open').on('click','.add',function(e){
                    usualMenuServiceComponent.showMenuDiv();
                    e = e||window.event;
                    e.stopPropagation();    //  阻止事件冒泡
                });
                $('.fixed-mymenu-close').on('click',function(){
                    $('.fixed-mymenu-open').show();
                    $(this).animate({right:'-30px'},200);
                    $('.fixed-mymenu-open').animate({right:0},200);
                });
                $('.fixed-mymenu-close').show();
            }
        });
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值