gpt4 book ai didi

jquery - 元素焦点无限循环

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

我有这个代码:

  $("body").on("focus", ".input", function () {
$("body").append("loop<br>");
$(this).find("input").focus();
});

fiddle :
http://jsfiddle.net/Hc3D8/

为什么会循环?

最佳答案

它循环是因为您将一个函数附加到 focus 事件,该函数本身会触发 focus 事件。

即使您在内部 input 元素上调用 focus 事件,它仍然会冒泡到外部 .input 元素。

要解决此问题,您可以 Hook 外部元素上的不同事件:

$("body").on("click", ".input", function () { // click event
$("body").append("loop<br>");
$(this).find("input").focus();
});

或者您可以停止在输入焦点上传播:

$("body")
.on("focus", ".input", function () {
$("body").append("loop<br>");
$(this).find("input").focus();
})
.on('focus', 'input', function(e) {
e.stopPropagation();
});

Example fiddle

关于jquery - 元素焦点无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20002382/

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