Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript href属性中jQuery代码的奇怪行为_Javascript_Jquery_Html_Href - Fatal编程技术网

Javascript href属性中jQuery代码的奇怪行为

Javascript href属性中jQuery代码的奇怪行为,javascript,jquery,html,href,Javascript,Jquery,Html,Href,我发现可以将jquery代码放在HTMLA标记的href属性中 然而,这段代码是有效的,所以我不明白:它在第二次点击后就可以工作了。 为什么? 这种行为并不奇怪。 开始时没有绑定到链接的jQuery单击处理程序 但是,当您第一次单击它时,它会从其href执行以下脚本: 并将处理程序绑定到链接。 因此,在第一次单击之后,您没有任何警报,但现在有一个绑定到myId的单击处理程序 当您第二次单击它时,它将触发新绑定jQuery事件,该事件将显示警报。 此外,它还会再次执行href,因此当您再次单击此

我发现可以将jquery代码放在HTMLA标记的href属性中

然而,这段代码是有效的,所以我不明白:它在第二次点击后就可以工作了。 为什么?


这种行为并不奇怪。 开始时没有绑定到链接的jQuery单击处理程序

但是,当您第一次单击它时,它会从其href执行以下脚本:

并将处理程序绑定到链接。 因此,在第一次单击之后,您没有任何警报,但现在有一个绑定到myId的单击处理程序

当您第二次单击它时,它将触发新绑定jQuery事件,该事件将显示警报。
此外,它还会再次执行href,因此当您再次单击此链接时,您将得到两个相同的单击处理程序和两个警报,并且每次警报的数量都会增加

这种行为并不奇怪。 开始时没有绑定到链接的jQuery单击处理程序

但是,当您第一次单击它时,它会从其href执行以下脚本:

并将处理程序绑定到链接。 因此,在第一次单击之后,您没有任何警报,但现在有一个绑定到myId的单击处理程序

当您第二次单击它时,它将触发新绑定jQuery事件,该事件将显示警报。
此外,它还会再次执行href,因此当您再次单击此链接时,您将得到两个相同的单击处理程序和两个警报,并且每次警报的数量都会增加

第一次单击定义单击事件以显示警报框

第二次单击将执行代码并显示警报框


作为注释,您不应该将此代码包含在href属性中,因为这是一种不好的做法。

第一次单击定义了显示警报框的单击事件

第二次单击将执行代码并显示警报框


作为注释,您不应该将此代码包含在href属性中,因为这是一种不好的做法。

在第一次单击时,href属性中的函数将被执行,处理程序将绑定到“myId”锚元素。在第二次单击中,执行处理程序并显示警报。

在第一次单击中,执行href属性中的函数并将处理程序绑定到“myId”锚元素。在第二次单击中,将执行处理程序并显示警报。

虽然可以在href中添加JS代码,但您确实不应该这样做t@Rory,我需要一个bookmarklet,当dom准备好执行js代码时,该bookmarklet将只使用我…Document ready函数调用一次。在您的代码中,您正在手动单击并执行javascript,因此首先它将调用document ready函数,等待myId click函数调用。虽然可以在href中添加JS代码,但您确实不应该这样做t@Rory,我需要一个bookmarklet,当dom准备好执行js代码时,该bookmarklet将只使用我…Document ready函数调用一次。在您的代码中,您正在手动单击并执行javascript,因此首先它将调用documentready函数,等待myId click函数调用。
$(document).ready(function() { 
  $("#myId").click(function() {
    alert("ok jQuery");
  });
});