gpt4 book ai didi

javascript - 使用 JavaScript 确定事件何时停止

转载 作者:行者123 更新时间:2023-11-29 14:57:07 25 4
gpt4 key购买 nike

简化场景:

  • 我在按钮上有一个点击事件
  • 在事件中我调用了一个函数 X
  • 函数 X 返回一个值
  • 点击事件使用接收到的数据更改 DOM(实际上呈现一个 jQuery 模板)

示例代码:

$("button").click(function()
{
var response = FunctionX();

doTemplateRendering(response); //(*)
});

function FunctionX()
{
//some code

return some_value;

//The click event has finished, so now make a little adjust to the generated dom (*)
}

问题是:

  • 我是否有办法确定点击何时从 FunctionX() 停止?
  • 或者有没有一种方法可以让 doTemplateRendering() 触发一些我可以从 FunctionX() 中捕获的东西,所以我是否返回一个值并不重要,因为在某些时候我将能够执行我需要的额外代码

这背后的原因是这是框架的一部分,我无法更改点击事件。

最佳答案

您不能从函数返回一个值,然后在同一个函数中进行进一步处理。但是您可以使用 setTimeout() 安排一些代码稍后运行:

function FunctionX()
{
//some code

setTimeout(function() {
//The click event has finished, so now make a little adjust to the generated dom (*)
}, 5);

return some_value;
}

JS 是单线程的(如果我们忽略 web-workers),所以你传递给 timeout 的函数在点击事件完成后才会执行。

或者,您可以将第二个点击处理程序绑定(bind)到同一个按钮并在那里进行额外的处理 - jQuery 保证事件处理程序(对于相同的事件和元素)将按照它们绑定(bind)的顺序运行。

关于javascript - 使用 JavaScript 确定事件何时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16083726/

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