次の 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;
});
});
3 つのタブまたはメニュー項目があります。1 つをクリックすると、このコードは他の項目のコンテンツ部分を非表示にします。
このうち、次の部分がこの質問の焦点です。
$target = $(event.target);
var tabPics = $('#tab-pics>a');
if($target === tabPics){
tabTest.getPics();
}
コード スニペットが示すように、写真タブがクリックされたときに関数を呼び出そうとしています。ブレークポイントを使用してコードをたどると、 $target が正常にキャプチャされていることがわかりますが、それが tabPics と一致していても、関数呼び出しはスキップされ、残りのコードは正常に実行されます。
$target と tabPics を一致させた場合、if ステートメントで条件を満たしたときに関数呼び出しをスキップするのはなぜですか?
助けてくれてありがとう。