我正在使用jQuery UI模式对话框,并使用一些表单字段填充它。由于这个错误:http://bugs.jqueryui.com/ticket/4731,第一个输入在对话框打开时获得焦点。为了解决这个问题,我打算在打开对话框时模糊受影响的输入。
问题是在.blur()
上存在为此输入调用的其他功能,而我不想为此启动该功能。
所以,我正在尝试使用.focusout()
和.trigger('focusout')
来达到相同的效果,但没有结果。
执行以下任一操作:
$('#input-id').focusout();
$('#input-id').trigger('focusout');
实际上并不会导致输入失去焦点,使用.blur()
成功。我错过了什么,还是有另一种方法来完成我需要的东西?
答案 0 :(得分:20)
如果你喜欢快速的javascript hack,你可以使用:
$(':focus').blur();
答案 1 :(得分:4)
我的建议是在打开对话框时将焦点设置到对话框中的其他元素,而不是将文本框设置为模糊。这应该可以解决你的问题。
希望这有助于!!
答案 2 :(得分:4)
Focusout不会导致元素失去焦点。相反,当元素失去焦点时会触发焦点。查看http://api.jquery.com/focusout/
答案 3 :(得分:3)
我用它作为解决方法:
$('body').focus();
答案 4 :(得分:0)
我使用它而不需要在selenium驱动程序中执行javascript:
field.send_keys :tab