考慮下面的jQuery:事件目標匹配但函數不被調用?
$('.entry-links:not(.entry-links-processed)').each(function(){
$(this).addClass('entry-links-processed');
$('li a', this).click(function(event){
$target = $(event.target);
var tabPics = $('#tab-pics>a');
if($target === tabPics){
tabTest.getPics();
}
$('.entry-links li a').removeClass('active');
$(this).addClass('active');
var id = $(this).attr('href');
$('.entry-box:not(' + id + ')').hide();
$(id).show();
return false;
});
});
我有三個標籤或菜單項:當你點擊一個,這個代碼會隱藏其他的內容部分。
出於這一點,以下部分是這個問題的重點:
$target = $(event.target);
var tabPics = $('#tab-pics>a');
if($target === tabPics){
tabTest.getPics();
}
由於代碼片斷顯示,我試圖調用一個函數被點擊圖片選項卡時。在我的代碼中使用斷點後,我發現我成功捕獲了$ target,但即使它與tabPics匹配,函數調用也會被跳過,其餘代碼正常運行。
如果我已經匹配$ target和tabPics,爲什麼它會在我的if語句中遇到條件時跳過函數調用?
感謝您的幫助。
感謝您的回覆......我不認爲我是針對僞選擇器,是嗎?這個事件發生在'a'標籤上,tabPics存儲一個基於ID的元素和緊接着它的'a'標籤。我錯過了什麼嗎? – max7 2013-03-21 07:28:46