【发布时间】:2016-10-28 01:32:42
【问题描述】:
我有这段代码可以根据this answer 检测用户是否正在打字。我想通过 ajax 将响应发送到服务器,方法是将我的 ajax 代码放在 if/else 语句中的某个位置,但我不确定如何。
var textarea = $('#textarea');
var typingStatus = $('#typing_on');
var lastTypedTime = new Date(0); // it's 01/01/1970, actually some time in the past
var typingDelayMillis = 5000; // how long user can "think about his spelling" before we show "No one is typing -blank space." message
function refreshTypingStatus() {
if (!textarea.is(':focus') ||
textarea.val() == '' ||
new Date().getTime() - lastTypedTime.getTime() > typingDelayMillis) {
typingStatus.html('No one is typing -blank space.');
} else {
typingStatus.html('User is typing...');
}
}
function updateLastTypedTime() {
lastTypedTime = new Date();
}
setInterval(refreshTypingStatus, 100);
textarea.keypress(updateLastTypedTime);
textarea.blur(refreshTypingStatus);
到目前为止我所尝试的:
var textarea = $('#chatbox');
var typingStatus = $('#typing_on');
var lastTypedTime = new Date(0); // it's 01/01/1970, actually some time in the past
var typingDelayMillis = 5000; // how long user can "think about his spelling" before we show "No one is typing -blank space." message
function refreshTypingStatus() {
if (!textarea.is(':focus') ||
textarea.val() == '' ||
new Date().getTime() - lastTypedTime.getTime() > typingDelayMillis) {
typingStatus.html('No one is typing -blank space.');
} else {
typingStatus.html('User is typing...');
$.ajax({
type: "POST",
url: "usertypes.php?v=<?php echo $usarr; ?>",
});
}
}
function updateLastTypedTime() {
lastTypedTime = new Date();
}
setInterval(refreshTypingStatus, 100);
textarea.keypress(updateLastTypedTime);
textarea.blur(refreshTypingStatus);
但是,我的似乎没有发送任何回复。所以我不确定ajax代码的放置是否正确。谁能解释我哪里出错了?
【问题讨论】:
-
我的代码有效。我的 PHP 代码有问题。给您带来的不便,我深表歉意
标签: javascript ajax