当输入聚焦时,我想用 jQuery 触发一个事件。应该足够简单。
根据这篇文章,一个简单$('#id').is(':focus')
的内部 if 语句应该可以工作。但不适合我:http: //jsfiddle.net/PaulvdDool/BdG9N/
我也尝试过在.focus
这里使用,但这只会不断触发事件。我可以让它工作,但我认为这不是最好的方法。
有人可以给我看灯吗?
使用如下:
$('#field').focus(function(){
//do your stuff here
});
使用 onfocus 处理程序:{您当然可以使用别名 '.focus()' 只是注意一些自定义的 jquery 构建删除别名事件}
$('#field').on('focus',function(){
alert('Hello world!');
});
但是不要在焦点处理程序中使用 alert() ,而是使用 console.log() 。Alert() 会在某些浏览器上创建一个循环。
最好的解决方案是使用以下方法绑定事件处理程序focus
:
$("#field").focus(function(){
//function body.
});
这种方法的主要问题是警报会从输入中窃取焦点,然后当您单击输入以在框中键入时再次获得焦点。然后重复这个循环。我假设您的代码会做一些事情而不是引发警报,所以一旦实际代码到位,它就不会重复引发警报。
focus
作为函数使用:
$('#field').focus(function(){
alert('Hello world!');
});
$(this).blur();
如果您将使用,请不要忘记添加alert
,因为在这种情况下,您有无限警报。