gpt4 book ai didi

jquery - 防止 Jquery 中第二次发生 Keyup 事件

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

我有 5 个文本框用于 [标题、名称、关键字、描述和 URL] 输入

$("#TxtPageTitle").keyup(function () {
$("#TxtPageName").val($(this).val());
$("#TxtPageKeywords").val($(this).val());
$("#TxtPageDescription").val($(this).val());
$("#TxtPageURL").val($(this).val());
});

我使用 JQuery 的 Keyup 事件来处理复制,当我在标题(文本框)中键入内容时,它将填充所有其他 4 个文本框。

问题是:我首先在标题(文本框)中输入一些内容,它将填充所有其他文本框,然后我将编辑所有 4 个文本框的值。如果再次更改值标题(文本框),则所有其他 4 个文本框的旧值都将更改。

我想要的是 Keyup 方法应该只在第一次输入时有效。这样我就可以防止这个问题。

最佳答案

一种方法是为您想要自动填充的字段指定一个特定的类,例如“autoFill”,然后在修改各个字段时从该字段中删除该类,例如:

$("#TxtPageTitle").keyup(function () {
$(".autoFill").val(this.value);
});

$(".autoFill").change(function() {
$(this).removeClass("autoFill");
});​​​​​​​​

演示:http://jsfiddle.net/A2FsY/

您说“在第一次输入时”,但我的建议比这更好,因为它将继续将 #TxtPageTitle 的更改应用于尚未单独编辑的任何其他字段。如果您确实希望它“在第一次输入时”,则只需根据 Blade0rz 的答案将 .blur().change() 处理程序添加到 #TxtPageTitle。

编辑:请注意,无需在不再具有“autoFill”类的字段上继续触发更改事件,因此上面的更改处理程序的主体可以更改为:

$(this).removeClass("autoFill").unbind("change");

关于jquery - 防止 Jquery 中第二次发生 Keyup 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9923316/

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