【问题标题】:Jquery keypress keydown errorJquery keypress keydown 错误
【发布时间】:2016-05-10 03:28:32
【问题描述】:

先生,我是 jquery 的新手。我有一个聊天应用程序。有两个页面。用于选择对话。如果单击一个对话。它将对话 id 发送到第二页。在第二页中。根据对话加载消息.

<li id="1"> conversation 1 </li>
<li id="2"> conversation 2 </li>



$('li').click(function() {
    var groupid = this.id;
    $.ajax({
        type: 'get',
        url: 'getmessages.php',
        data: 'groupid=' + groupid,
        dataType: 'html',
        success: function(r) {
            $('#output').html(r);
        }
    });
});

在 2n 页面(getmessages.php) 中使用 php 获取消息并发送新消息

$('#sendbutton').click(function(){ 
// send message
});

我还有点击“输入”键时发送消息的代码。

$(document).keypress(function(e){
alert('test') ; //this alert is for test
If(e.which ==13){    // send message
}
});

发送按钮点击功能正常工作。但是在按键功能中,如果我们点击会话两次(在第一页),点击回车时会发送两次消息。(两次显示“测试”警报)。如果单击 3 次,则发送相同的消息 3 次,依此类推。 我该如何解决这个问题。提前谢谢

【问题讨论】:

    标签: jquery keypress keydown


    【解决方案1】:

    因为当焦点位于按钮上时按“Enter”会触发本机的“click”事件。你还会得到一个“keypress”事件,然后再次触发“click”事件。

    【讨论】:

    • 谢谢。你知道如何在点击时禁用 li。 $(this).off();在职的。但仅适用于 1st li。如果单击 2nd li,则应禁用 2nd 并启用 1st。等等。我需要防止同时点击两次 li
    • keydown替换keypress怎么样?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 2011-11-17
    • 1970-01-01
    • 2022-01-25
    • 2019-02-19
    • 1970-01-01
    • 2011-03-23
    相关资源
    最近更新 更多