<a href="www.mysite.com" onclick="return theFunction();">Item</a>
<script type="text/javascript">
function theFunction () {
// return true or false, depending on whether you want to allow the `href` property to follow through or not
}
</script>
<a href="www.mysite.com" onclick="make(event)">Item</a>
<script>
function make(e) {
// ... your function code
// e.preventDefault(); // use this to NOT go to href site
}
</script>
<a href="https://example.com" onClick="myFunction(event)">Link</a>
<script>
function myFunction(event) {
event.preventDefault();
// do your thing here
window.location.href = event.currentTarget.href;
}
</script>
<a href="www.mysite.com" ng-click="return theFunction();">Item</a>
<script type="text/javascript">
function theFunction () {
// return true or false, depending on whether you want to allow
// the`href` property to follow through or not
}
</script>
7条答案
按热度按时间34gzjxbg1#
您已经有了所需的内容,只是语法稍有变化:
<a>
标记的onclick
和href
属性的默认行为是执行onclick
,然后只要onclick
不返回false
就执行href
,取消事件(或者事件未被阻止)zd287kbt2#
使用jQuery。您需要捕获
click
事件,然后转到网站。m1m5dgzv3#
要实现这一点,请使用以下html:
这里是working example。
9vw9lbht4#
不需要jQuery。
Some people say using
onclick
is bad practice...这个例子使用纯浏览器javascript,默认情况下,click处理程序会在导航之前求值,所以如果你愿意,你可以取消导航,自己做。
gt0wga4j5#
使用
<button>
代替。一般来说,你应该只使用超链接来导航到一个真正的URL。我们可以设计一个按钮,使其看起来像一个锚元素。
来自www.example.comhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#onclick_events
锚元素经常被滥用为假按钮,通过将其href设置为#或javascript:void(0)来阻止页面刷新,然后监听其点击事件。
当复制/拖动链接、在新选项卡/窗口中打开链接、添加书签时,或者当JavaScript加载、出错或被禁用时,这些虚假的href值会导致意外行为。它们还会向辅助技术(如屏幕阅读器)传递不正确的语义。
bkkx9g8r6#
接受的答案对我不起作用。但是,阻止
a href
的默认行为,然后“手动”跟随链接,确实起作用了。代码示例如下所示:
ulmd4ohb7#
使用
ng-click
代替onclick
,就这么简单: