Javascript JQuery:ussing.toggle()后未绑定的事件处理程序

Javascript JQuery:ussing.toggle()后未绑定的事件处理程序,javascript,jquery,html,Javascript,Jquery,Html,我有一个select元素,已绑定到更改事件,如下所示: $("#selectId").on("change", handler); 我也尝试过使用.bind和.change,一切都按预期进行。select本身位于一个div中,当用户通过.toggle方法单击该div时,该div将隐藏/显示。问题是,当div被隐藏然后再次显示时,更改事件不再在应该触发时触发。我可以通过再次绑定事件来解决这个问题,但我想知道这是正常行为还是JQuery 1.7.1中的错误,或者是代码中的错误 以前有其他人有过这个

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

$("#selectId").on("change", handler);
我也尝试过使用.bind和.change,一切都按预期进行。select本身位于一个div中,当用户通过.toggle方法单击该div时,该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;
    })

你能发布一个重现你问题的帖子吗?这不是我以前经历过的事情,只要元素没有从DOM中删除然后重新创建,我就不明白为什么切换显示会取消/取消绑定事件处理程序。您能给我们展示一下显示和隐藏div的代码吗?如果您所做的只是显示和隐藏事件,那么事件没有理由被解除绑定。这不应该发生。我支持演示的请求。请注意,.change在内部调用.on,从1.7开始.bind也会这样做,这样就不会有任何区别。您可能会动态更新显示/隐藏的div的内容。我将尝试通过演示来复制这一点。我会尽快把它寄出去。