Javascript 当单击div中除超链接以外的所有元素时,如何切换div的显示?

Javascript 当单击div中除超链接以外的所有元素时,如何切换div的显示?,javascript,plotly-dash,Javascript,Plotly Dash,我正在使用下面的javascript在单击“.summary”div时切换“.detail”的显示。我希望在“.summary”div中引入一个链接,但我不想在单击链接时切换“.detail”div。我应该如何修复代码 $(document).ready(function(){ $(document).on("click",".summary",function(){ $(this).next(".detail").toggleClass("show") }) }

我正在使用下面的javascript在单击“.summary”div时切换“.detail”的显示。我希望在“.summary”div中引入一个链接,但我不想在单击链接时切换“.detail”div。我应该如何修复代码

$(document).ready(function(){
    $(document).on("click",".summary",function(){
        $(this).next(".detail").toggleClass("show")
    })
});
上一页:

新的:


您可以检查目标元素

$(document).on('click', '.summary', function(e){
  var target = e.target;

  if(target.tagName !== 'A'){
    $(this).next('.detail').toggleClass('show');
  }
});

它可以工作,但警报会弹出一个窗口。如何禁用弹出窗口?更新了示例,使其仅在目标元素不是锚(链接)时切换。很高兴我能提供帮助:)
html.Div([
    html.Div([html.H5(corner, style={'paddingLeft':'25px', 'color':'#fff'})], className='three columns summary'),
    html.Div([html.H5(int_status, style={'paddingLeft':'25px', 'color':'#fff'})], className='three columns'),
    html.Div([html.H5(ext_status, style={'paddingLeft':'25px', 'color':'#fff'})], className='three columns'),
    html.Div(html.A(children='\u2630', style={'paddingLeft':'60px', 'color':'#fff'}, href=f'http://10.38.234.26:5000/{partition}_timing_summary.xlsx'), style={'marginTop':'5px'}, className='one column offset-by-two')
], className='row'),

html.Div([
    html.Div([dcc.Graph(id=f'binning-{corner}', figure=create_timing_graphs(partition, corner), 
        config={'displayModeBar':False})], 
        style={'paddingLeft':'40px'})
], style={**card_colors['default']}, className='row detail'),
$(document).on('click', '.summary', function(e){
  var target = e.target;

  if(target.tagName !== 'A'){
    $(this).next('.detail').toggleClass('show');
  }
});