IE中奇怪的Javascript错误

ta-*_*run 5 javascript jquery javascript-events

得到一个奇怪的错误.stopPropagation()IE

我的代码如下,

$(document).ready(function(){
    var options = {
    $this: "",
    $menuItems: $(".mainMenu > li"),
    $blueBar: $(".blueBar"),
    $submenuBg: $("#submenuBg"),
    $sortOptions: $(".sortOptions"),
    $submenu: $(".submenu"),
    submenuClass: ".submenu",
    blueBarClass: ".blueBar",
    selectedClass: "selected",
    sortOptionsClass: ".sortOptions",
    subSubmenu: "ul",
    subSubmenuClass: "sub-submenu"      
    };

    $sortBy.toggle(function(){
            options.$this = $(this);
            ddlShow(event, options);
        }, 
        function(){
            options.$this = $(this);
            ddlHide(options);
        }
    );

});

var ddlShow = function(event, options){
    event.stopPropagation();
    options.$this.children(options.sortOptionsClass).show();    
}

var ddlHide = function(options){
options.$this.children(options.sortOptionsClass).hide();
}
Run Code Online (Sandbox Code Playgroud)

得到以下错误

对象不支持属性或方法'stoppropagation'

代码在Chrome和中运行良好FX.

我该如何解决这个问题?

注意:相同的代码没有object options.

sus*_*ani 6

在IE中我们没有在事件对象的javascript中提供stopPropogation方法.如果您将在谷歌搜索,您将在基于webkit的浏览器中找到事件对象的不同实现.所以为了纠正jQuery已经给出了一个处理它的接口,所以你应该使用jQuery方式来做事件来阻止这个错误.

您可以阅读本文以获得更多说明http://www.quirksmode.org/js/introevents.html


San*_*osh 6

更换 e.stopPropagation(); if (e.stopPropagation) e.stopPropagation(); else e.cancelBubble = true;为我工作

谢谢