有没有办法禁用对具有for属性的标签元素的关注

时间:2019-08-29 09:51:43

标签: jquery jquery-validate

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

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

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

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

点击错误后,我想禁用这些字段的焦点。

1 个答案:

答案 0 :(得分:0)

您可以尝试

$('#field-error').click(function(e){ 
    e.preventDefault(); 
});

或在ECMAScript 6中

$('#field-error').click(e=>{
    e.preventDefault();
});

作为一个旁注,我还建议对每种错误标签元素应用某种类,例如.errorField,如果需要,您仍可以使用ID,例如<label id="field-error" class="errorField" for="field">,它将使将上述内容应用于所有元素变得更加容易,如下所示:

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