谢谢你的帮助!我尝试了你的建议,但没有奏效。我注意到
$('#tabholder').on('change', '#day', function(){
console.log("change");
});
仅适用于 textarea 而不是任何其他输入。这是否与我正在改变它们的价值而不是innerHTML这一事实有关?
无论如何,对我有用的是使用两个函数,一个用于存储当前值,并且在 iser 按下键时调用:
document.onkeydown = function(k) {
memorise();
}
function memorise() {
console.log("memorise");
if (stage == 1) {
dayMemo = $("#day").attr("value");
monthMemo = $("#month").attr("value");
console.log(dayMemo, monthMemo);
} else if (stage == 2) {
hourMemo = $("#hour").attr("value");
minuteMemo = $("#minute").attr("value");
console.log(hourMemo, minuteMemo);
} else if (stage == 3) {
commentMemo = $("#comment").attr("value");
console.log(commentMemo);
}
}
一个重新获得值,每当我从外部文件加载某些内容时都会调用这个值:
var tabContent = new XMLHttpRequest();
tabContent.onreadystatechange = processText;
tabContent.open("GET", "tabd.html", true);
tabContent.send();
//this function gets external file and shows previous input values
function processText() {
if (tabContent.readyState == 4) {
tab = tabContent.responseText;
document.getElementById("tabholder").innerHTML += tab;
focusOnElem();
showMemo();
}
}
function showMemo() {
$("#day").attr('value', dayMemo);
$("#month").attr('value', monthMemo);
$("#hour").attr('value', hourMemo);
$("#minute").attr('value', minuteMemo);
$("#comment").attr('value', commentMemo);
}