【问题标题】:no response from jquery .on('hide', functionjquery .on('hide', function 没有响应
【发布时间】:2012-03-21 16:30:52
【问题描述】:

我有一些要显示/隐藏的 div。我想在每次隐藏这些 div 时重置它们,但这似乎不起作用:

$('#div_id_1,#div_id_2').on('hide',function(){
    $('#form_id_1,#form_id_2').each(function(){
        this.reset();
    });
});

这个函数永远不会被触发。如何捕获这个“隐藏”事件?

谢谢

【问题讨论】:

  • 事件隐藏是自定义事件??
  • 你什么时候隐藏这些事件?我不确定我能不能找到你,但你不能只使用.hide() 中的回调吗?

标签: jquery hide show-hide


【解决方案1】:

您需要将重置代码放在实际进行隐藏的位置,或者自己触发“隐藏”事件:

$('#somelink').click( function() {
  $('#div_id_1').hide().trigger('hide');
} );

这是因为 jQuery 本身没有触发 hide 事件(参见 docs)。

【讨论】:

  • 是的,我怀疑这一点,我只需将.trigger('hide') 添加到我的隐藏函数中。
【解决方案2】:

您需要手动触发hide 事件。

$('#div_id_1').hide('fast', function() {
   $(this).trigger('hide');
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多