$.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()