![](/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.