我希望在点击父div
上的任意位置时切换div
,除非点击anchor
元素。例如,如果我单击示例中的第一个文本,我希望它切换,但在我的示例中的第二个文本中,我不希望它切换。
我已尝试使用!key.relatedTarget.tagName == 'a'
,但我不断获得undefined
答案 0 :(得分:1)
您应该检查事件目标:
function show_description(key) {
if( !$( event.target ).is( "a" ) )
{
$('#' + key + '_description').slideToggle(100);
}
}
<强> JSFiddle 强>
答案 1 :(得分:1)
见上面的答案。
对于JQuery的做法;
$(document).ready(function(){
$('.panel').on('click', function(e){
if(e.target.id != 'test_description'){
$('.description').toggle();
}
});
})
或专门针对A元素;
$(document).ready(function(){
$('.panel').on('click', function(e){
var target = $( e.target );
if ( !target.is("a") ) {
$(this).find('.description').toggle();
}
});
})
仅适用于javascript:
if ( target.get(0).tagName.toLowerCase() != 'a' ) {