如何使输入按钮立即发送带有此脚本的消息?我在网站上尝试了其他解决方案,但我没有设法自己编写代码。
$(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");
}
});
});
});
答案 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>