jQuery-“jQuery;“重新绑定”;停止传播时

jQuery-“jQuery;“重新绑定”;停止传播时,jquery,bind,Jquery,Bind,我的情况是: 我将单击侦听器添加到容器中 单击后,我删除侦听器,这样只有孩子才能识别单击 单击子容器后,容器的功能将恢复 除了容器单击监听器(toggleContainer)永远不会反弹之外,该功能可以正常工作。我认为问题可能是单击子项时的事件传播,但将event.stopPropagation()添加到子项会破坏一切 所以我被难住了。如果你能给我提些建议,我将不胜感激。谢谢。将第二个函数参数传递给click方法并没有达到您认为的效果。请看下面的图片 这就是你想要做的吗 ____________

我的情况是:

  • 我将单击侦听器添加到容器中
  • 单击后,我删除侦听器,这样只有孩子才能识别单击
  • 单击子容器后,容器的功能将恢复
  • 除了容器单击监听器(toggleContainer)永远不会反弹之外,该功能可以正常工作。我认为问题可能是单击子项时的事件传播,但将event.stopPropagation()添加到子项会破坏一切


    所以我被难住了。如果你能给我提些建议,我将不胜感激。谢谢。

    将第二个函数参数传递给
    click
    方法并没有达到您认为的效果。请看下面的图片

    这就是你想要做的吗

    _______________________ | #container [#child] | |_______________________|
    var toggleContainer = function() {
       var width = ($('#container').width() > 299) ? 145 : 300;
       $('#container').animate({ width: width }).off('click');
    }
    
    $('#container').click(toggleContainer);
    
    $('#child').click(toggleContainer, function() {
       $('#container').on('click', toggleContainer);
    });