切换div除了锚点击

时间:2016-03-09 20:04:50

标签: javascript jquery html onclick

我希望在点击父div上的任意位置时切换div,除非点击anchor元素。例如,如果我单击示例中的第一个文本,我希望它切换,但在我的示例中的第二个文本中,我不希望它切换。

JSFiddle

我已尝试使用!key.relatedTarget.tagName == 'a',但我不断获得undefined

2 个答案:

答案 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();
      }
  });
})

jsfiddle

或专门针对A元素;

$(document).ready(function(){
  $('.panel').on('click', function(e){
        var target = $( e.target );
        if ( !target.is("a") ) {
            $(this).find('.description').toggle();
        }
  });
})

jsfiddle

仅适用于javascript:

        if ( target.get(0).tagName.toLowerCase() != 'a' ) {