jQuery setTimeout $(this)
Sziasztok!
jQuery-ben egy hasonló dolgot szeretnék csinálni, mint a .bind() azzal a különbséggel, hogy a lefutó függvény késleltetéssel induljon.
Meg is csináltam, és működik is, egy apró hibával, amit jó lenne kiküszöbölni:
Mégpedig, hogy a callback függvényben a $(this) nem az elem a $(window) objektumot adja vissza.
Tehát konkrétan az alábbi kódban az a problémám, hogy a $this != $$, és így az eventHandler függvényben a $(this) = $(window).
Tudnátok segíteni ebben?
Köszönettel:
Paksa Tomi
■ jQuery-ben egy hasonló dolgot szeretnék csinálni, mint a .bind() azzal a különbséggel, hogy a lefutó függvény késleltetéssel induljon.
Meg is csináltam, és működik is, egy apró hibával, amit jó lenne kiküszöbölni:
Mégpedig, hogy a callback függvényben a $(this) nem az elem a $(window) objektumot adja vissza.
Tehát konkrétan az alábbi kódban az a problémám, hogy a $this != $$, és így az eventHandler függvényben a $(this) = $(window).
Tudnátok segíteni ebben?
Köszönettel:
Paksa Tomi
;(function($){
$.fn.bindDelay = function(eventType, eventHandler) {
return $(this).each(function() {
var $this = $(this);
$(this).bind(eventType, function(eventObj) {
var $this = $(this);
window.setTimeout(function() {
var $$ = $(this);
eventHandler(eventObj);
}, 500);
});
});
};
})(jQuery);
Plugin, closure
Frankón működik.
Köszi a segítséget!