2011-05-24 59 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版本中引入

相關問題