$.on, href 属性为空时点击不起作用
$.on, click doesn't work when href attribute is empty
<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>
当我单击 link 时没有打印任何内容。
然而,当我用 hash
符号初始化 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>
您的第一个代码示例可以正常工作,您只需要防止在单击 link 时发生的页面刷新:
<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>
也就是说,更好的做法是始终在 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>
当我单击 link 时没有打印任何内容。
然而,当我用 hash
符号初始化 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>
您的第一个代码示例可以正常工作,您只需要防止在单击 link 时发生的页面刷新:
<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>
也就是说,更好的做法是始终在 href
参数中包含一个值,即使它只是一个 #
- 但如果需要,仍然使用 preventDefault()
。