看起来像目标是一个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);
}
});
任何想法为什么它会在论坛上失败,但不是主网站? – 2011-05-24 04:13:40
嗯,我试过应用它,但它仍然有相同的错误。 – 2011-05-24 04:17:52
呃,我想我发现了这个问题,显然其他.js文件之一是干扰w/it。 – 2011-05-24 04:34:13