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!