gpt4 book ai didi

jquery - 在 jQuery click() 期间处理程序是否总是同步调用?

转载 作者:行者123 更新时间:2023-12-01 00:16:16 25 4
gpt4 key购买 nike

通过一些简短的测试,似乎 click()同步触发任何适用的处理程序(也就是说,这些处理程序都在 click() 返回),这对于我正在开发的内容来说是理想的。然而,jQuery 文档似乎并没有保证(没有提到一种或另一种方式)处理程序是同步调用的。

同步行为是否在某处得到保证,或者是否可以安全地假设为跨浏览器且面向 future ?

最佳答案

是的,在正常的默认功能启动之前,所有点击事件都会在幕后同步运行。查看此操作的一种方法是将一个或多个点击事件添加到 anchor 标记。如果任何附加函数返回 false。它将取消 anchor 标记的默认功能。换句话说,您不会转到 href 属性中的页面。

$("a:first")
.click(function() { alert("I was attached first!"); return false; })
.click(function() { alert("Running despite the earlier 'return false'!");});

您会注意到它们同步运行,并且按照它们附加的顺序运行!任何附加函数都可以返回 false 以取消 anchor 标记发生的正常重定向。

当使用 jQuery 触发 click 事件时,所有附加函数将在执行其余链式操作之前运行。

$("a:first")
.click(function() { alert("I was attached first!"); return false; })
.click(function() { alert("Running despite the earlier 'return false'!");});
$("a:first").click().css("color", "red");

因此,上面的代码将始终显示两个警报,然后将链接颜色更改为红色。

关于jquery - 在 jQuery click() 期间处理程序是否总是同步调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6620010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com