我看到它可能会在html href
标记的a
属性中放置jquery代码。
然而,该代码有效,所以我不明白:它在第二次点击后起作用。 为什么呢?
<a href="javascript:alert('ok JavaScript')">JS</a>
<br>
<script src="https://code.jquery.com/jquery-latest.min.js"></script>
<a id="myId" href='javascript:
$(document).ready(function(){
$("#myId").click(function() {
alert("ok jQuery");
});
});'>jQ</a>
&#13;
答案 0 :(得分:2)
在第一次单击时,href属性中的函数被执行,处理程序被绑定到'myId'锚元素。在第二次单击处理程序中执行并显示警告。
答案 1 :(得分:1)
这种行为没什么奇怪的。
开头没有jQuery click
处理程序绑定到您的链接。
但是,当您第一次单击它时,它会从href
执行以下脚本:
$(document).ready(function() {
$("#myId").click(function() {
alert("ok jQuery");
});
});
并将处理程序绑定到您的链接。
因此,在第一次点击后您没有alert
,但现在您的click
处理程序绑定了#myId
。
当您第二次单击它时,它会触发新的绑定jQuery事件,该事件显示警报
此外,它再次执行href
,因此当您再次单击此链接时,您将获得两个(相同的)点击处理程序和两个警报,并且每次都会增加警报数。
答案 2 :(得分:1)
第一次单击定义单击事件以显示警告框。
第二次点击执行代码并显示警告框。
作为评论,您不应该将此代码包含在href属性中,因为这是一种不好的做法。