开发者

button click event is triggered after keypress using jQuery

开发者 https://www.devze.com 2023-01-11 02:07 出处:网络
I have these codes $(\'#search-button\').keypress(func开发者_开发技巧tion (e) { if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {

I have these codes

$('#search-button').keypress(func开发者_开发技巧tion (e) {
   if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {            
        search();
   };
});

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

under the search module I have an alert, now whenever I press Enter when the button is in focus, the search() under the click event also triggers. Please help. Thanks.


Pressing enter does fire the keypress event - but also triggers the button's 'click' event, so you get search called twice.

You don't need to add a handler for the enter key.


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


Why do you put the keypress event on the button? Pressing Enter on it will trigger the click event anyway. You'll probably want to put the keypress event on the text input or drop it altogether.


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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号