gpt4 book ai didi

javascript - 元素事件监听器上的 this.id 成为单击元素的所有 id 的数组

转载 作者:行者123 更新时间:2023-12-02 23:58:54 25 4
gpt4 key购买 nike

我在所有文本框中都有一个事件监听器。单击文本框时,我想打开键盘。在键盘输入时,我想使用调用它的文本框的 id 来执行一些逻辑。然而,id(代码中的txtbxId)只是成为我单击的第一个文本框,然后是我在数组中单击的第二个文本框。 例如,警报变为“textbox1” - 第二个文本框单击警报后为“textbox1”“textbox2”我尝试将变量 id 强制为“”、删除它等,但无济于事,代码片段在这里:

$('.textbox').click(function() {            
var txtbxId = this.id;
$("#Keyboard").show();

$(document).on('keydown', function(e) {
if (e.which === 13) {
alert(txtbxId);
}
});
});
});

最佳答案

问题是因为您正在嵌套事件。因此,除了在发生点击事件时复制 keydown 事件外,您还向这些事件提供每个单独的 id

要解决此问题,请对所有 .textbox 元素使用单个事件处理程序,并从引发事件的元素的引用中读取它们自己的 id通过 this 关键字可用:

$('.textbox').click(function() {
$("#Keyboard").show();
});

$(document).on('keydown', '.textbox', function(e) {
if (e.which === 13) {
alert(this.id);
}
});

关于javascript - 元素事件监听器上的 this.id 成为单击元素的所有 id 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55257106/

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