使用jQuery在按键后触发按钮单击事件

时间:2010-08-10 08:01:24

标签: jquery click keypress

我有这些代码

$('#search-button').keypress(function (e) {
   if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {            
        search();
   };
});

$('#search-button').bind('click', function () {
   search();
});

在搜索模块下我有一个警告,现在每当按下按钮时按Enter键,click事件下的search()也会触发。请帮忙。感谢。

4 个答案:

答案 0 :(得分:5)

按Enter键会触发按键事件 - 但也触发按钮的“点击”事件,因此您可以进行两次搜索。

您无需为回车键添加处理程序。

答案 1 :(得分:2)

    $(document).ready(function(e) {
$('form').bind('keypress', function(event){
    if(event.keyCode == 13)
    {
    event.preventDefault();
    $("#submitcat").click();
    }
});
$("#submitcat").click(function(){
alert("Ok");    
});
});

答案 2 :(得分:1)

为什么要在按钮上放置keypress事件?在其上按 Enter 将触发click事件。您可能希望将keypress事件放在文本输入上或完全删除它。

答案 3 :(得分:0)

$(document).on('keypress',function(e) {
    if (e.keyCode == 13 || e.which == 13) {
        var identifier = e.target.id;
        console.log(e.target.id);
        $('#' + identifier).click();
    }
});