2012-08-13 34 views
1

我有一個document.ready函數,它存儲所有的數據以準備彈出:hoverAJAX的URL追加與存儲的jQuery衝突。數據()

domReady(function() { 
    $('.foo').each(function() { 
    var el = $(this); 
    var el_content = el.find('[data-content]'); 
    el.data('content-attr', { content: el_content, classes: el_classes }); 
    }); 
}); 

一切都在默認情況下工作正常,但是當URL追加對AJAX的排序,我失去了我window裁判,我想,這是因爲下面的事件處理程序訪問它沒有問題,當URL訪問數據時返回undefined沒有附加。我知道這必須是事件處理程序中的window參考問題,有人能指引我參考window的正確方法,以便在加載時存儲數據的jQuery對象可在.on('hover', function() { //do stuff });之間訪問,而URL被附加到AJAX?

$(window).on('hover', '[rel="popover"]', function() { 
    var el = $(this); 
    var this_content_data = el.data('content-attr').content; 
    function() { 
     // do stuff 
    } 
}); 
+0

使用'document'而不是'window',因爲[document object](http://www.w3.org/TR/REC-DOM-Level-1/level-one-html.html)包含body內的DOM元素,而不是[window object](http://www.w3.org/TR/Window/)。 – 2012-08-22 20:26:42

回答

0

在這個具體問題的情況下,我意識到這樣做是爲了將數據存儲在視圖的初始化一個jQuery .data屬性對$(window).element.on('hover', ...){}訪問通過函數的唯一途徑。