gpt4 book ai didi

javascript - 找出用户输入的输入元素

转载 作者:行者123 更新时间:2023-11-30 17:58:34 24 4
gpt4 key购买 nike

我有一个包含多个文本输入的页面,我想确定用户正在输入哪个文本输入。所有文本输入都使用相同的代码显示。一个很大的限制是我不能修改实际的 HTML 代码,所以我不能向输入添加 ID 或类。

这是 HTML 的样子:

<input type="text" />
<input type="text" />
<input type="text" />
<input type="text" />

这是我用来检测按键的代码:

$(document).keypress(function(e) {
console.log(e.target) // will be the same for each input
});

有没有办法区分不同的输入。是否存在区分文本输入的底层 DOM 属性,以便我可以在未来的恒定时间内访问输入(即,DOM 是否为每个输入分配一个唯一的 ID)?

最佳答案

在文档加载时,您可以遍历输入元素并制作一个“索引”=>“元素”映射。这可以用于将来的恒定时间访问。 map 的索引可以作为元素的唯一 ID。

我为此整理了一个工作 fiddle 。 http://jsfiddle.net/fugHv/6/ .这是否解决了您的问题?

这是方法的要点,

$(document).ready(function(){
var inputMap = {}, inputArray = [];

$.each($('input'), function(i, v){
//Make an array of the inputs to ensure a constant time access
inputArray.push(v);
//Make a map of inputs with index as the key, for future use
inputMap[i] = v;
});

$('input').keypress(function(e){
var pos = inputArray.indexOf(e.target);

//This should provide the reference for the target input
var inputRef = $(inputMap[pos]);
...
});
});

关于javascript - 找出用户输入的输入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17605899/

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