jQuery:如何在元素显示时调用函数

use*_*684 5 jquery bind show

我希望在div显示(显示后)时调用一个函数.

有谁知道我怎么能这样做?我试着用这样的东西:

$(#someDiv).bind('show',function(){
    alert('example')
});
Run Code Online (Sandbox Code Playgroud)

但我不确定我是否以正确的方式做到这一点,或者是否有可能实现这一目标.有任何想法吗?

Jel*_*Cat 18

以下代码(改编自http://maximeparmentier.com/2012/11/06/bind-show-hide-events-with-jquery/)将允许您使用$('#someDiv').on('show', someFunc);.

(function ($) {
  $.each(['show', 'hide'], function (i, ev) {
    var el = $.fn[ev];
    $.fn[ev] = function () {
      this.trigger(ev);
      el.apply(this, arguments);
      return el;
    };
  });
})(jQuery);
Run Code Online (Sandbox Code Playgroud)


Nel*_*son 6

它必须在 show() 方法的后回调中完成:

$('#someDiv').show('slide',function(){
    alert('example')
});
Run Code Online (Sandbox Code Playgroud)


alo*_*p85 -1

jQuery 直播

从 jQuery 1.7 开始,.live() 方法已被弃用。使用 .on() 附加事件处理程序。旧版本 jQuery 的用户应优先使用 .delegate() 而不是 .live()。

  • 为什么这是公认的答案?这甚至不是问题的答案。 (21认同)