JQuery:使用.toggle()后事件处理程序取消绑定

时间:2012-03-14 20:32:13

标签: javascript jquery html

我有一个select元素,我已经绑定到change事件,如下所示:

$("#selectId").on("change", handler);

我还尝试使用.bind().change(),一切都按预期工作。 select本身位于div中,当用户点击它时,通过.toggle()方法隐藏/显示该div。问题是当div被隐藏然后再次显示时,更改事件不会再触发它。我可以通过再次绑定事件来解决这个问题,但我想知道这是正常行为还是JQuery(1.7.1)中的错误(或者我的代码中的错误)。

以前是否还有其他人遇到此问题?

修改

这是隐藏div的代码:

    $('.accordion .accordionHeader').click(function()
    {
        if ($(this).next().is(":visible"))
        {
            $("#mainForm").data("validator").reset();

            $(this).removeClass("expandedHeader");
            $(this).find("em").removeClass("expandedHeader");
        }
        else
        {
            $(this).addClass("expandedHeader");
            $(this).find("em").addClass("expandedHeader");
        }

        $(this).next().toggle('fast');
        return false;
    })

0 个答案:

没有答案