Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 识别输入文本类型的最佳实践_Jquery_Html_Frontend - Fatal编程技术网

Jquery 识别输入文本类型的最佳实践

Jquery 识别输入文本类型的最佳实践,jquery,html,frontend,Jquery,Html,Frontend,我有一种输入文本,它必须在“keydown”上触发一个函数。为了识别这种类型的输入,我使用了一个Id#autocomplete。所以 $('#autocomplete').keydown(function(){ //function autocomplete }); 问题是我在同一个页面中有两次输入,因此jquery搜索第一个id,而忽略第二个id。(我使用的是旧的jquery版本1.3) 我用$(“输入#自动完成”)解决了这个问题。这是可行的,但这是最佳实践吗?我想ID必须是唯一的。我

我有一种输入文本,它必须在“keydown”上触发一个函数。为了识别这种类型的输入,我使用了一个Id#autocomplete。所以

$('#autocomplete').keydown(function(){
   //function autocomplete
});
问题是我在同一个页面中有两次输入,因此jquery搜索第一个id,而忽略第二个id。(我使用的是旧的jquery版本1.3)

我用$(“输入#自动完成”)解决了这个问题。这是可行的,但这是最佳实践吗?我想ID必须是唯一的。我可以使用class或name来代替,但两者都会对代码的其他部分产生影响(设计的类,接收表单参数的服务器部分的名称)


哪一个是最好的解决方案?

一个
id
应该横跨整个
文档。如果您确实无法使其唯一,另一种选择是您的选择器,或者在
输入中添加
,然后将其选择为
$(.class)

id属性为元素分配唯一标识符(可能是 由SGML解析器进行验证)


id
应该横跨整个
文档。如果您确实无法使其唯一,另一种选择是您的选择器,或者在
输入中添加
,然后将其选择为
$(.class)

id属性为元素分配唯一标识符(可能是 由SGML解析器进行验证)


如果您对
名称
有疑问,因为它们会影响
设计
服务器
,则始终可以使用属性

<input data-id="my-id"/>

具有
数据-
前缀的自定义属性是HTML5中的标准属性

如果您对
名称
有疑问,因为它们会影响
设计
服务器
,您可以始终使用属性

<input data-id="my-id"/>
具有
数据-
前缀的自定义属性是HTML5中的标准属性