JQuery: как вызвать функцию, когда элемент показывает

Я хочу вызвать функцию, когда div показывает (после шоу).

Кто-нибудь знает, как я могу это сделать? Я пытаюсь использовать что-то вроде этого:

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

Но я не уверен, что я сделаю это с правильным путем или если это возможно или не получится. Любые идеи?

Ответ 1

jQuery live

Как и в jQuery 1.7, метод .live() устарел. Используйте .on() для присоединения обработчиков событий. Пользователи более старых версий jQuery должны использовать .delegate() в предпочтении .live().

Ответ 2

Следующий код (адаптированный из 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);

Ответ 3

Это должно быть сделано в методе show() в его post-callback:

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

Ответ 4

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

Ответ 5

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

Ответ 6

Я использую этот

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

Ответ 7

попробуйте это

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

или

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

функция callFunction() { ............ }