javascript - jQuery触发anchor的onclick事件而不发送浏览器到href

标签 javascript jquery

我想要一个带有 hrefonclick 函数的 a 标记,但是当用户单击该链接时我没有希望浏览器转到 href 但只执行 onclick。我尝试了以下方法:

function testFunc() {
  document.getElementById("testDiv").innerHTML = "it works!";
}

$('.testClass').click(function(event) {
  $(this).trigger("onclick");
  event.preventDefault();
});
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>

<a href="http://www.google.com" class="testClass" onclick="testFunc()">click me</a> 

<div id="testDiv"></div>

  • 注意:虽然它在代码段编辑器中似乎可以正常工作,但在完整页面中,浏览器确实会转到 Google。

最佳答案

您不需要所有这些,只需将 return false 添加到 onclick 处理程序即可:

function testFunc() {
  document.getElementById("testDiv").innerHTML = "it works!";
  return false;
}
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>

<a href="http://www.google.com" class="testClass" onclick="testFunc()">click me</a> 

<div id="testDiv"></div>

关于javascript - jQuery触发anchor的onclick事件而不发送浏览器到href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49160821/

相关文章:

javascript - 如何用实际日期填充数组并用-1填充所有剩余日期

javascript - 有人可以向我解释 jjencode 是如何工作的,以及是否适合在我的代码中使用它

javascript - Webdriverjs - By 未定义

jquery - 如何使用 Jquery onClick 更改多个元素?

jquery - Google Maps InfoWindow,使用 jQuery 撤消子元素的样式

javascript (jquery) - 代码应该位于 -> onload 或 document.ready 或 pageLoad()?

jquery - 重复时输入会失去值(value)

javascript - 从 Chrome 扩展获取数据

javascript - scrollmagic 不响应触发元素

javascript - 如何根据其 value 属性的值检查复选框?