Reputation: 800
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
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
Reputation: 915
I use this
$(document).on("pagebeforeshow", "#elementID", function ()
{
//Whatever
});
Upvotes: 0
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
Reputation: 922
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
Reputation: 50563
It must be done in the show() method, in its post-callback:
$('#someDiv').show('slide',function(){
alert('example')
});
Upvotes: 6
Reputation: 40318
try this
$(#someDiv).bind('show',function(){
callFunction();
});
or
$(#someDiv).on('show',function(){
callFunction();
});
function callFunction() { ............ }
Upvotes: -2