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

时间:2013-03-05 19:42:24

标签: jquery bind show

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

有谁知道我怎么能这样做?我尝试使用类似的东西:

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

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

7 个答案:

答案 0 :(得分:17)

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

答案 1 :(得分:3)

必须在show()方法中,在其回调后:

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

答案 2 :(得分:1)

<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>   

答案 3 :(得分:0)

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

答案 4 :(得分:0)

jQuery live

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

答案 5 :(得分:0)

我用这个

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

答案 6 :(得分:-1)

试试这个

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

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

function callFunction() { ............ }