单击 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;
});
不确定如何让此代码在单击超链接时不触发
$(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;
});