Javascript $。在上,单击';href属性为空时无法工作
您的第一个代码示例可以正常工作,您只需防止在单击链接时发生页面刷新:Javascript $。在上,单击';href属性为空时无法工作,javascript,jquery,href,Javascript,Jquery,Href,您的第一个代码示例可以正常工作,您只需防止在单击链接时发生页面刷新: <a href="#">i am a link</a> <script src="jquery.js"></script> <script> $("a").on('click', function(){ console.log("the a link is clicked") }) </script> $(“a”)。在(
<a href="#">i am a link</a>
<script src="jquery.js"></script>
<script>
$("a").on('click', function(){
console.log("the a link is clicked")
})
</script>
$(“a”)。在('click',函数(e){
e、 preventDefault();//<停止链接行为
log(“单击a链接”)
})
也就是说,更好的做法是始终在
href
参数中包含一个值,即使它只是一个#
-但如果需要,仍然使用preventDefault()
。您的第一个代码示例将正常工作,您只需要防止在单击链接时发生页面刷新:
<a href="#">i am a link</a>
<script src="jquery.js"></script>
<script>
$("a").on('click', function(){
console.log("the a link is clicked")
})
</script>
$(“a”)。在('click',函数(e){
e、 preventDefault();//<停止链接行为
log(“单击a链接”)
})
也就是说,更好的做法是始终在
href
参数中包含一个值,即使它只是一个#
——但如果需要,仍然使用preventDefault()
。虽然我也添加了一个#,但在HTML5@DominicTobias中不再需要它,它不再是必需的,但在我看来,这是一个更好的做法,因为它表明你没有忘记添加一个值——这表明你特别希望这个链接不会有任何进展。这是正确的答案。散列通过阻止页面刷新来隐藏原始问题,但需要的是preventDefault
。虽然我还添加了一个#,但在HTML5@DominicTobias中不再需要它,它不是必需的,但在我看来,这是一个更好的做法,因为它表明你没有忘记添加一个值——这表明你特别希望这个链接不会有任何进展。这是正确的答案。散列通过阻止页面刷新来隐藏原始问题,但所需的是preventDefault
。
<a href="">i am a link</a>
<script src="jquery.js"></script>
<script>
$("a").on('click', function(e){
e.preventDefault(); // < stop the link behaviour
console.log("the a link is clicked")
})
</script>