单击 link 时如何使 Onclick 代码不执行

How to make Onclick code to not execute when a link is clicked

不确定如何让此代码在单击超链接时不触发

$(document).ready(function () {

  $('.accordion-list > li > .answer').hide();

  $('.accordion-list > li').click(function () {
    if ($(this).hasClass("active")) {
          
      ////if link is clicked then exit this function////
       
      $(this).removeClass("active").find(".answer").slideUp();
      
    } else {
        
      $(".accordion-list > li.active .answer").slideUp();
      $(".accordion-list > li.active").removeClass("active");
      $(this).addClass("active").find(".answer").slideDown();
    }
    return false;
  });

检查事件目标以获取被单击的元素(可能是 <li> 的后代)。如果目标有任何 <a> 的祖先,则停止该函数。

$('.accordion-list > li').click(function (event) {
    if ($(this).hasClass("active")) {
        if (event.target.closest('a')) {
            // an <a> was clicked
            return;
        }

试试这个来防止点击继续执行。

$(document).ready(function () {

  $('.accordion-list > li > .answer').hide();

  // ***** pass event parameter e
  $('.accordion-list > li').click(function (e) {
    if ($(this).hasClass("active")) {
          
      // ***** prevent click to continue execute 
      e.preventDefault();
      
      $(this).removeClass("active").find(".answer").slideUp();
      
    } else {
        
      $(".accordion-list > li.active .answer").slideUp();
      $(".accordion-list > li.active").removeClass("active");
      $(this).addClass("active").find(".answer").slideDown();
    }
    return false;
  });