Jquery 有没有办法禁用对具有for属性的标签元素的焦点

Jquery 有没有办法禁用对具有for属性的标签元素的焦点,jquery,jquery-validate,Jquery,Jquery Validate,我正在使用jquery验证插件进行表单验证。 目前,它的工作方式是,单击“提交”后,验证错误显示在字段前面。当我单击这些错误消息时,该字段将成为焦点。我想禁用该焦点,因为它会在打开上载程序时导致文件上载字段出现问题 我尝试过使用focusInvalid:false,但无法实现所需的功能。输入字段具有ID,错误消息是使用“for”属性与字段绑定的标签 <input type="text" id="field"/> <label id="field-error" for="fie

我正在使用jquery验证插件进行表单验证。 目前,它的工作方式是,单击“提交”后,验证错误显示在字段前面。当我单击这些错误消息时,该字段将成为焦点。我想禁用该焦点,因为它会在打开上载程序时导致文件上载字段出现问题

我尝试过使用
focusInvalid:false
,但无法实现所需的功能。输入字段具有ID,错误消息是使用“for”属性与字段绑定的标签

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

<label id="field-error" for="field">Field is Required</label>

字段是必需的
单击错误时,我想禁用字段中的焦点。

您可以尝试

$('#field-error').click(function(e){ 
    e.preventDefault(); 
});
或者在ECMAScript 6中

$('#field-error').click(e=>{
    e.preventDefault();
});
作为旁注,我还建议对每个错误标签元素应用某种类型的类,例如
。errorField
如果您愿意,您仍然可以使用您的ID,例如
,这将使将上述内容应用于所有元素变得更加容易,如下所示:

$('.errorField').click(e=>{ e.preventDefault(); });
你可以试试

$('#field-error').click(function(e){ 
    e.preventDefault(); 
});
或者在ECMAScript 6中

$('#field-error').click(e=>{
    e.preventDefault();
});
作为旁注,我还建议对每个错误标签元素应用某种类型的类,例如
。errorField
如果您愿意,您仍然可以使用您的ID,例如
,这将使将上述内容应用于所有元素变得更加容易,如下所示:

$('.errorField').click(e=>{ e.preventDefault(); });

哇,这很有魅力。太谢谢你了,没问题:)我会把它作为对其他人的回答。哇,这真是个魅力。非常感谢你,没问题:)我会把它作为其他人的答案。为什么你要用ECMA6提供答案,而问题不是问这个。我只是想帮忙@sparky为什么你要用ECMA6提供答案,而问题不是问这个。我只是想帮点忙