onchange javascript点击事件取消了另一个

onchange javascript click event cancels the other one out

本文关键字:取消 另一个 事件 javascript onchange      更新时间:2023-09-26

这是我的自定义代码的重要部分。我相信onchange函数与im使用的第三方插件的函数一致,该插件也针对相同的"选项"标签。

    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")
        })

这里可能的罪魁祸首来自im使用的下拉插件。它比这长得多,但这里有一个让我担心的函数,它可能会阻止我的脚本:

    $("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/

我试着用你的小提琴,但似乎不起作用。

尝试向更改事件添加一个唯一的命名空间。

$("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
});