onchange javascript click事件取消了另一个

时间:2014-10-10 17:54:04

标签: javascript jquery

这是我的自定义代码的基本部分。我相信onchange功能与使用第三方插件的功能相冲突,该功能也使用相同的“选项”标签。

    jQuery(document).ready(function(e) {
            var t = e("#filter-container");
            t.imagesLoaded(function() {
                t.isotope({
                    itemSelector: "figure",
                    filter: "*",
                    resizable: false,
                    animationEngine: "jquery"
                })
            });
$("select").on("change", function() {
    var select = $(this);
    var selectedOption = select.find("option:selected");
    var r = selectedOption.attr("data-filter");
    t.isotope({
      filter: r
    });
    return false
});
            e(window).resize(function() {
                var n = e(window).width();
                t.isotope("reLayout")
            }).trigger("resize")
        })

这里可能是使用下拉插件的罪魁祸首。它比这要长得多,但这里的功能令我担心,这可能会阻止我的脚本:

    $("select").on("change", function() {
        var select = $(this);
        var selectedOption = select.find("option:selected");
        var n = select.parents(".filter-buttons");
        var r = selectedOption.attr("data-filter");
        t.isotope({
          filter: r
        });
        return false
    });

这两个函数都是单独脚本的一部分,所以我不能将它们连接在一起。有没有办法让第二个功能不取消第一个功能?

http://jsfiddle.net/snz0gkkk/10/

1 个答案:

答案 0 :(得分:0)

我试图用你的小提琴,但它似乎没有用。

尝试为您的更改活动添加唯一的命名空间。

$("select").on("change.optionChange", function() {
    var select = $(this);
    var selectedOption = select.find("option:selected");
    var r = selectedOption.attr("data-filter");
    t.isotope({
      filter: r
    });
    return false
});