user1364684
user1364684

Reputation: 800

jQuery: How to call function when element shows

I want to call a function when a div shows (after show).

Does anybody knows how could I do this? I try to use something like that:

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

But I don't sure if I do that from correct way or if it is possible or not achieve that. Any ideas?

Upvotes: 5

Views: 60271

Answers (7)

Aman Attari
Aman Attari

Reputation: 191

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

Upvotes: 1

MarceloBarbosa
MarceloBarbosa

Reputation: 915

I use this

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

Upvotes: 0

Jellicle
Jellicle

Reputation: 30206

The following code (adapted from http://maximeparmentier.com/2012/11/06/bind-show-hide-events-with-jquery/) will enable you to use $('#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);

Upvotes: 17

aloplop85
aloplop85

Reputation: 922

jQuery live

As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers. Users of older versions of jQuery should use .delegate() in preference to .live().

Upvotes: -1

It must be done in the show() method, in its post-callback:

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

Upvotes: 6

Jon Harding
Jon Harding

Reputation: 4946

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

Upvotes: 0

PSR
PSR

Reputation: 40318

try this

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

or

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

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

Upvotes: -2

Related Questions