$ .on,当href属性为空时,单击不起作用

Sar*_*mar 0 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>
Run Code Online (Sandbox Code Playgroud)

当我点击链接时,不会打印任何内容.

然而,当我hrefhash符号初始化时,它起作用.

这工作,

<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>
Run Code Online (Sandbox Code Playgroud)

Ror*_*san 5

您的第一个代码示例将正常工作,您只需要阻止单击链接时发生的页面刷新:

<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>
Run Code Online (Sandbox Code Playgroud)

也就是说,最好总是在href参数上包含一个值,即使它只是一个#- 但preventDefault()如果需要的话仍然可以使用.