【问题标题】:Which call faster href vs onclick哪个调用更快的href vs onclick
【发布时间】:2018-07-30 20:17:27
【问题描述】:

嗨~我想调用关于锚标签href属性和onclick属性的序列我有一些测试 <a href="https://stackoverflow.com" onclick="alert('asdf');">asdfasdf</a>

并单击锚标记。结果显示警报和链接stackoverflow但是

<a onclick="setTimeout(function(){console.log('asdf')})" href="https://stackoverflow.com" >test</a> 这个标签首先调用href proerty!请解释调用 序列href和onclick 如果您知道其他知识,请为我解释一下,请转告

【问题讨论】:

  • @Sinto,这实际上不是真的。请不要使用 cmets 说“我认为”。它们是为了澄清或指出问题。如果您有解决方案,请提出实际解决方案并提供证据证明您是正确的

标签: javascript html onclick href


【解决方案1】:

所以 onclick 函数实际上在 href 之前运行。这使您可以做一些非常酷的事情,例如,如果您愿意,可以停止执行链接:

function stopLink(event) {
  event.preventDefault();
}
<a href="www.google.com" target="_blank" onclick="stopLink">click me</a>

【讨论】:

  • 为了清楚起见,我以 preventDefault() 为例,直观地展示了 js 在链接执行之前运行。如果您提示用户输入,它也可以显示视觉差异。否则,js 运行得足够快,以至于您不会真正看到链接执行的任何延迟。但是,preventDefault 函数完全起作用的事实表明它是在链接之前执行的
猜你喜欢
  • 2014-04-06
  • 2020-08-04
  • 1970-01-01
  • 2011-09-24
  • 2011-06-12
  • 1970-01-01
  • 2014-01-30
  • 1970-01-01
  • 2010-10-07
相关资源
最近更新 更多