![](/img/trans.png)
[英]jquery keypress event object keyCode for firefox problem?
[英]jQuery keypress event problem
我有一个函数(filterLeads),当将表单字段移离(模糊)时以及在表单字段中按Enter键时,都希望调用此函数。
$('#filter input, #filter select').blur(filterLeads);
$('#filter input, #filter select').keypress(function(e){if(e.which == 13) {filterLeads();}});
模糊效果正常,但是按键事件有问题。 除非在filterLeads();调用之前发生了什么,否则似乎不会触发该事件。 例如:
$('#filter input, #filter select').keypress(function(e){if(e.which == 13) {alert(e.which);filterLeads();}});
确认警报后,它将正确调用filterLeads()(显示正确的键代码)。
有任何想法吗? (浏览器FF 3.0)
尝试一下:您应该return false;
从匿名函数中获取,因为否则将提交包含字段的表单(如果有的话),并重新加载页面。
如果filterLeads将事件作为参数,请不要忘记写: filterLeads(e)
。
如果没有其他帮助:Fire blur()
:
$('#filter input, #filter select').keypress(function(e){$(e.target).blur();});
(jQuery-fied,因为可能会附加自定义jQuery事件)。
只需添加e.preventDefault();
在事件处理程序中,如下所示:
$('#filter input, #filter select').keypress(function(e){if(e.which == 13) {filterLeads(); e.preventDefault(); }});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.