AJAX URL 追加与存储的 jQuery .data() 冲突

AJAX URL append conflicting with stored jQuery .data()

本文关键字:data 冲突 jQuery URL 追加 存储 AJAX      更新时间:2023-09-26

我有一个document.ready函数,可以存储所有数据,为:hover上的弹出框做准备。

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 ref,因为以下事件处理程序在访问数据时返回undefined,当 URL 未附加时,访问这些数据没有问题。 我知道这一定是事件处理程序中window引用问题,有人可以指出引用window的正确方法,以便在为 AJAX 附加 URL 时.on( 'hover', function() { //do stuff });可以访问加载时存储数据的 jQuery 对象?

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

在这个特定问题的情况下,我意识到这样做的唯一方法是在初始化视图时将数据存储在 jQuery .data 属性中,以便函数在$(window).element.on( 'hover', ...){}上访问。