jquery按键事件发射几次

前端之家收集整理的这篇文章主要介绍了jquery按键事件发射几次前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
嗨,我已经设置了自动完成输入文本.
我试图通过点击btn和输入按键来触发重新打印表格的事件. btn点击工作正常
但输入键按下似乎在停止之前触发了几次(意味着表格闪烁)
$('body').bind('keypress',function(e) {
        if(e.keyCode==13){
             var str = $('#Filter').val();
            $('#Table').fadeOut("slow").load('printShorts.server.PHP?Sortby=<?echo $sort;?>&dir=<?echo $direction;?>&filter='+encodeURIComponent(str)+'&usergroup=<?=$usergroup?>&no-cache=' + (new Date()).getTime() ).fadeIn("slow");
        }

});

它不会一直发生,并且在不同的浏览器中行为不同.

解决方法

keydown事件与html文本框结合使用将不足以防止多次触发它.您可以在keydown事件的jquery demo部分中看到此行为: http://api.jquery.com/keydown/

一种可能的解决方案是使用事件处理程序“one”(参见http://api.jquery.com/one/).这确保了事件只被处理一次:

jQuery("#createNewProduct").one("keydown",function (e) {
    //Do Stuff
});

猜你在找的jQuery相关文章