[Return to article] [Download]
Bind an event handler to one or more elements, allowed to abort the bindation on other event. Usefull for showing tooltip when mouse moves on elements after a few time.
Download lazybind.js, or simply copy and paste the codes below to one of you .js files.
// define
(function($){
$.fn.lazybind = function(event, fn, timeout, abort){
var timer = null;
$(this).bind(event, function(e){
var ev = e;
timer = setTimeout(function(){
fn(ev);
}, timeout);
});
if(abort == undefined){
return;
}
$(this).bind(abort, function(){
if(timer != null){
clearTimeout(timer);
}
});
};
})(jQuery);
Here is a example of using lazybind.
// example
$('#my_img').lazybind(
'mouseover',
function(){
alert(1);
},
500,
'mouseout');
@Parameters