在回答了我的最后一个问题之后,我再也没有看到 preventDefault(); 之前的功能。
所以我现在的问题是,最好的方法是什么?我做了以下代码
<!DOCTYPE html>
<head>
<script type='text/javascript' src='files/jquery-1.7.2.min.js'></script>
<script type="text/javascript">
$(document).ready(function() {
$("#abc").click(function(ev) {
ev.preventDefault();
alert('hey');
});
});
</script>
</head>
<body>
<h1>helloasdasdasdsad</h1>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<a href="javascript:void();" id="abc">Link 1: javascript:void();</a><BR><BR>
<a href="#" id="abc">Link 2: #</a><BR><BR>
<a href="javascipt:void(0);" id="abc">Link 3: javascript:void(0);</a><BR><BR>
<a id="abc">Link 4: NO HREF</a><BR><BR>
</body>
</html>
..我讨厌使用#,因为它会滚动到页面顶部。原来 javascript:void(); 在 href 中会导致 IE 中的语法错误。那么将 (ev) 和ev.preventDefault();
行放在每个函数中的答案是什么?或者我可以return false;
在每个函数的末尾吗?
什么是最好的、最广泛接受的做法?
编辑:好的,所以 event.preventDefault(); 是最好的使用方法,但是如果我想要一个冗余链接,那仍然不能回答 HREF 中的内容?我认为最佳做法是始终使用.click
带有 的事件<a href="">
,因为某些较旧的浏览器不会响应单击事件或将鼠标悬停在 DIV/SPAN/IMG 元素上?