2011-05-24 175 views
0

http://www.gamingunion.net/ http://www.gamingunion.net/forums/jQuery的.closest()的作品在一个页面上,但不是另一个

当你点击游戏背景,它会打开一个Amazon.com链接。出于某种原因,在论坛上,它失败并给出错误$(event.target).closest不是函数

http://www.bungieunion.com/gamingunion/js/forum.js

第二个功能是一个问题。两个页面上的jQuery版本都是一样的,所以我无法弄清楚这个问题可能是什么。

回答

1

看起来像目标是一个HTML DOM对象,而不是一个jQuery对象。我想测试一下,看看是否event.target是一个instanceof的jQuery像这样:

var target = (event.target instanceof jQuery) ? event.target : jQuery(event.target); 

这将确保目标对象与调用.closest()

编辑前的jQuery对象:改变$至jQuery的使用noConflict

编辑#2的情况下,我改变了你整个第二种方法是:

var _body = jQuery("body"); 

_body.click(function() { 
    // affilate takeover functions 
    if(_body.attr('id').length 
     && _body.closest('header').length == 0 
     && _body.closest('#wrapper > nav').length == 0 
     && _body.closest('#leaderboard > div').length == 0 
     && _body.closest('#wrapper2').length == 0 
     && _body.closest('body > footer').length == 0 
     && _body.attr('name') != 'userfile' 
     && _body.closest('.ui-datepicker-calendar').length == 0 
     && _body.closest('.ui-datepicker-prev').length == 0 
     && _body.closest('.ui-datepicker-next').length == 0 
     && _body.closest('.editor_control_bar').length == 0 
     && _body.closest('.ui-autocomplete').length == 0 
     && _body.closest('#fancybox-overlay').length == 0 
     && _body.closest('#fancybox-wrap').length == 0 
     && _body.attr('href') != '#shoutbox' 
     && !_body.hasClass('ui-button-text') 
     && _body.closest('.ui-dialog').length == 0) { 
     // variables 
     var affiliate_url = jQuery("input[name=affiliate_url]").val(); 

     window.open(affiliate_url); 
    } 
}); 
+0

任何想法为什么它会在论坛上失败,但不是主网站? – 2011-05-24 04:13:40

+0

嗯,我试过应用它,但它仍然有相同的错误。 – 2011-05-24 04:17:52

+0

呃,我想我发现了这个问题,显然其他.js文件之一是干扰w/it。 – 2011-05-24 04:34:13

0

我认为亚马逊子公司脚本加载的jQuery 1.2版本。在你的脚本被加载后,以及在你拨打jQuery.noConflict()后6。如果您在IE9的监视面板中查看$jQuery,您会发现它们不一样。加载脚本是

http://z-ecx.images-amazon.com/images/G/01/browser-scripts/us-site-wide-1.2.6/site-wide-10148190434.js._V178546632_.js

这是jQuery的1.2.6版本。请注意0​​在1.3版本中引入

相关问题