如何在jQuery中强制失去表单中所有字段的焦点

时间:2013-05-27 19:15:07

标签: javascript jquery lost-focus

当输入字段改变(onchange)时,我触发一个函数来设置一个变量。唯一的问题是该字段首先必须在设置变量之前失去焦点,并且我可以检查字段是否已更改,这是我在用户单击选项卡时要执行的操作,以便我可以检查是否用户忘记在上一个标签中提交表单。 Ho强制失去所有可能字段的焦点,所以首先onchange事件可以发生?

4 个答案:

答案 0 :(得分:86)

您可以使用:

$(':focus').blur()

如果您的网站中没有jQuery,可以将其替换为:

let el = document.querySelector( ':focus' );
if( el ) el.blur();

答案 1 :(得分:3)

您可以触发.blur()事件

$('SomeElement').blur(function () {
   // do whatever
});

$('SomeElement').blur();

答案 2 :(得分:0)

您不需要jQuery; vanillaJS也可以做到这一点。

document.activeElement.blur();

注意:通常,在调用方法之前,我会检查是否为空,但是activeElement仅在没有‹body›节点的情况下才返回null,因此此直接调用非常安全。 / p>

答案 3 :(得分:0)

$(':focus').blur();

你可以使用这行代码,一切都会失去焦点(jQuery)