javascript - 如何检测文本区域或输入类型="text"编辑?

标签 javascript

我使用此代码片段来防止用户意外离开编辑页面:

var warning = false;
window.onbeforeunload = function() {
  if (warning) {
    return '';
  }
}

现在,如果任何文本区域或输入 type="text"已被修改,我想将变量警告设置为 true,我想使用 onkeyup 事件,例如:

document.getElementById('textarea_id').onkeyup = function() {
    warning = true;
}

但是它不起作用。不太想在这方面使用 jQuery。有什么见解吗?

更新:

改为:

var warning = false;
window.onbeforeunload = function() { 
  if (warning) {
    return 'You have unsaved changes.';
  }
}
document.getElementById('textarea_id').onkeyup = function() {
    warning = true;
}

但它仍然不起作用。

顺便说一句,它被放在页面的 中。其他地方没有 javascript。

最佳答案

仅当 onbeforeunload 事件的返回值不等于 false 时才使用它。

return ''; 更改为

return 'You have unsaved changes.';

关于javascript - 如何检测文本区域或输入类型="text"编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2718311/

相关文章:

javascript - 如何让 HTML 运行而不是从数据库显示 html 命令?

javascript - 创建隐藏 Highcharts 时宽度无效

javascript - 两层应用程序中的 Sails.js socket.io。如何定义连接选项?

JavaScript + MySQL : use fields as parameter in result

javascript - 使一个 CSS 对象在一个盒子中居中

javascript - 作为参数传递的函数,有自己的未定义参数,但仍然有值

javascript - 如何让 Google Tag Manager 和 Content-Security-Policy 共存?

javascript - Mongodb 聚合 - 今天按小时分组

javascript - 在 Knockout 组件中异步加载模板

Javascript 回溯