0

我最近从这个开发者的网站实现了一个 jQuery 下拉列表:http: //tympanus.net/codrops/2012/10/04/custom-drop-down-list-styling/,它在我的 Chrome 网站上看起来和工作正常Firefox(我的网站是:http ://www.ExpeditionerSafaris.com )。

但是,在 Internet Explorer(当然)中,li 链接不起作用。

这是代码:

function DropDown(el) {
    this.dd = el;
    this.initEvents();
}

DropDown.prototype = {
    initEvents: function () {
        var obj = this;

        obj.dd.on('click', function (event) {
            $(this).toggleClass('active');
            event.stopPropagation();
        });
    }
}

$(function () {

    var dd = new DropDown($('#dd'));

    $(document).click(function () {
        // all dropdowns
        $('.wrapper-dropdown-5').removeClass('active');
    });

});
4

2 回答 2

0

我认为您有jquery confliction参考http://api.jquery.com/jQuery.noConflict/的问题

代码有问题

$(function () {//here is problem of `$` conflictions

    var dd = new DropDown($('#dd'));

    $(document).click(function () {
        // all dropdowns
        $('.wrapper-dropdown-5').removeClass('active');
    });

});

我检查了它并且代码有错误

Error: TypeError: $ is not a function
Source File: http://www.expeditionersafaris.com/
Line: 426

使用jQuery(function ()代替$(function ()再试试,或者使用jQuery.noConflict()函数

于 2013-02-07T04:31:54.597 回答
0

在你的initEvents方法中。不要通过event,因为它与 IE 事件发生冲突,所以让它

obj.dd.on('click', function (evt) {
    //evt is jQuery normalized event object

    $(this).toggleClass('active');
    event.stopPropagation();
});
于 2013-02-07T04:36:41.873 回答