我希望在输入聚焦时使用jQuery触发事件。应该够简单。
根据this文章,if语句中的简单$('#id').is(':focus')
应该有效。但不适合我:http://jsfiddle.net/PaulvdDool/BdG9N/
我还尝试使用.focus
here,但这只是不断触发事件。我可以使它工作,但我认为这不是最好的方法。
有人能告诉我光明吗?
答案 0 :(得分:2)
使用如下:
$('#field').focus(function(){
//do your stuff here
});
答案 1 :(得分:1)
使用onfocus处理程序:{你当然可以使用别名'.focus()'只要知道一些自定义的jquery构建删除别名事件}
$('#field').on('focus',function(){
alert('Hello world!');
});
但是不要在焦点处理程序中使用alert(),而是使用console.log()。 Alert()会在某些浏览器上创建一个循环。
答案 2 :(得分:1)
最佳解决方案是使用focus
绑定事件处理程序,例如:
$("#field").focus(function(){
//function body.
});
此方法的主要问题是警报从输入中窃取焦点,然后当您单击输入以在框中键入时,该输入再次获得焦点。然后重复这个循环。我假设您的代码除了抛出警报之外还会执行其他操作,因此一旦实际代码到位,它就不会重复抛出警报。
答案 3 :(得分:0)
使用focus
作为功能:
$('#field').focus(function(){
alert('Hello world!');
});
如果您使用$(this).blur();
,请不要忘记添加alert
,因为在这种情况下,您会收到无限警报。