如何启用ENTER按钮发送消息

时间:2015-10-09 05:41:22

标签: javascript jquery message send messages

如何使输入按钮立即发送带有此脚本的消息?我在网站上尝试了其他解决方案,但我没有设法自己编写代码。

$(document).ready(function () {

    $("#send_massage").click(function () {

        $("#send_massage").addClass("disabled");

        var variabila = $("#text-massage").val();
        var mesaj = "massage=" + variabila;

        $.ajax({
            type: "POST",
            url: "/ajax/chat.php",
            cache: false,
            data: mesaj,
            success: function (test) {
                $("#text-massage").val('');
                //$("#success").show("fast").delay(900).hide("fast");
                $("#success").html(test);
                $("#send_massage").removeClass("disabled");

            }
         });

     });

});

2 个答案:

答案 0 :(得分:1)

您可以尝试使用grunt stage:prod:build函数将元素(如keyup)上的事件绑定到您的函数。在该函数中,您检查第一个参数document的{​​{1}},看看它是否是type事件。如果是,则仅在按下e键时继续(keyup的{​​{1}}):

enter

尝试单击并在下面的示例中键入不同的键。您会看到按钮上的keyCode键和13都会导致调用:



if(typeof e.type !== 'string' || (e.type == 'keyup' && e.keyCode != 13)) {
    return;
}

enter




答案 1 :(得分:1)

请尝试此代码。这应该对你有所帮助

function sendMessage(e) {
    $("#send_massage").addClass("disabled");
    if(typeof e.type !== 'string' || (e.type == 'keyup' && e.keyCode != 13)) {
        return $('#status').html('no call');
    }
    $('#status').html('made call');
    var variabila = $("#text-massage").val();
    var mesaj = "massage=" + variabila;

    $.ajax({
        type: "POST",
        url: "/ajax/chat.php",
        cache: false,
        data: mesaj,
        success: function (test) {
            $("#text-massage").val('');
            //$("#success").show("fast").delay(900).hide("fast");
            $("#success").html(test);
            $("#send_massage").removeClass("disabled");

        }
    });

}
$(document).ready(function () {
    $(document).focus();
    $("#send_massage").click(sendMessage);
    $(document).keyup(sendMessage);

    $("input").keypress(function(event) {
        if (event.which == 13) {
            event.preventDefault();
            sendMessage();
        }
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" style="width:300px;" placeholder="Please enter a value here and hit enter" />
<button class="btn btn-primary" type="submit" data-loading-text="<i class='fa fa-spinner fa-spin'></i> WAIT..." id="send_massage" style="margin-right:6px;">SEND</button>
<div id='status'></div>