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

6mw9ycah  于 2022-11-29  发布在  jQuery
关注(0)|答案(7)|浏览(180)

我想在显示div时(显示后)调用一个函数。
有人知道我该怎么做吗?我试着这样做:

$(#someDiv).bind('show',function(){
    alert('example')
});

但是我不确定我是否以正确的方式去做,或者是否有可能做到。有什么想法吗?

5kgi1eie

5kgi1eie1#

以下代码(改编自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);
6pp0gazn

6pp0gazn2#

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

$('#someDiv').show('slide',function(){
    alert('example')
});
omtl5h9j

omtl5h9j3#

<script type="text/javascript" src="jquery-1.8.0.min.js"> </script>

<script>

    $(document).ready(function(){
        
        $("#jq_message").show(function(){
            $("#jq_message").fadeOut(3000);

            $("#div2").fadeOut("slow");

            $("#div3").fadeOut(3000);
        }); 

    });

</script>

<div id="jq_message"></div>
3vpjnl9f

3vpjnl9f4#

$('#element').live('show', function(){
    // CODE
});
dced5bon

dced5bon5#

我用这个

$(document).on("pagebeforeshow", "#elementID", function ()
{
    //Whatever
});
5jdjgkvh

5jdjgkvh6#

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

mccptt67

mccptt677#

试试这个

$(#someDiv).bind('show',function(){
    callFunction();
});

$(#someDiv).on('show',function(){
    callFunction();
});

函数调用函数(){.........}

相关问题