JQuery - onclick - 提醒经过的时间量
JQuery - Onclick - Alert the amount of time elapsed
当用户按下退出键时,我想显示一条警告消息,声明自他们开始输入以来已经过去的时间量。
$(document).ready(function() {
$(document).keyup(function(e) {
if (e.keyCode == 27) {
var current_date = new Date();
var time_end = current_date.getTime();
alert(time_end - time_start);
}});
$(":input").click(function() {
var date = new Date();
var time_start = date.getTime();
});
问题是因为time_start
是一个局部变量,定义在$(":input").click
函数中,我无法在$(document).keyup
方法中访问它。
不幸的是,我也无法通过在函数外部声明它来使其成为全局变量,因为当用户在输入框内单击时必须启动计时器。
根据W3Schools的说法,time_start应该是一个全局变量,因为我给它赋了值date.getTime()
。
非常感谢任何反馈。提前致谢。
您可以保存他们开始在输入的父节点上打字的时间点。
例如在 <body />
元素上(可能有更好的地方)
$(function() {
$(document).on("keyup", function(ev) {
if (ev.which != 27) {
return;
}
var startTime = $("body").data("startTime");
if (typeof startTime != "object") {
return;
}
alert(new Date().getTime() - startTime.getTime());
});
$(":input").on("click", function() {
$("body").data("startTime", new Date());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
当用户按下退出键时,我想显示一条警告消息,声明自他们开始输入以来已经过去的时间量。
$(document).ready(function() {
$(document).keyup(function(e) {
if (e.keyCode == 27) {
var current_date = new Date();
var time_end = current_date.getTime();
alert(time_end - time_start);
}});
$(":input").click(function() {
var date = new Date();
var time_start = date.getTime();
});
问题是因为time_start
是一个局部变量,定义在$(":input").click
函数中,我无法在$(document).keyup
方法中访问它。
不幸的是,我也无法通过在函数外部声明它来使其成为全局变量,因为当用户在输入框内单击时必须启动计时器。
根据W3Schools的说法,time_start应该是一个全局变量,因为我给它赋了值date.getTime()
。
非常感谢任何反馈。提前致谢。
您可以保存他们开始在输入的父节点上打字的时间点。
例如在 <body />
元素上(可能有更好的地方)
$(function() {
$(document).on("keyup", function(ev) {
if (ev.which != 27) {
return;
}
var startTime = $("body").data("startTime");
if (typeof startTime != "object") {
return;
}
alert(new Date().getTime() - startTime.getTime());
});
$(":input").on("click", function() {
$("body").data("startTime", new Date());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />