You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新增Textarea后jQuery待办清单的LocalStorage存储功能失效如何解决?

问题根因
  • 回车事件绑定逻辑错误:原代码给.iNote-items的按键事件多传了一个空字符串作为委托选择器参数,导致该回车监听被绑定到全局,所有元素触发回车都会执行保存回调。当你在新增的textarea里按回车时,回调会读取.iNote-items的内容,此时该输入框为空就会触发焦点抢占,看起来存储功能异常。
  • 存储逻辑只适配单文本框:原代码的保存、清空逻辑都只针对.iNote-items这一个文本框,如果你需要新增的textarea内容也被存储,需要额外补充对应的取值、赋值逻辑。
修复方案

如果你只需要保留原有逻辑,仅让新增的textarea不干扰原有功能,只需修正事件绑定的参数即可:

// 把原来错误的keypress绑定写法
// $('.iNote-items').keypress('', function(event) {
// 修改为下面的写法,去掉多余的空字符串参数
$('.iNote-items').keypress(function(event) {
  if (event.keyCode === 13) {
    // 阻止默认回车换行行为,避免文本框多出空行
    event.preventDefault();
    $('.aNote').click();
  }
});

如果你需要同时存储两个textarea的内容,可以将保存逻辑修改为读取两个文本框的值组合后存储:

$('.aNote').on('click', function() {
  // 同时读取两个文本框的内容
  let hrdVal = $('.hrd').val();
  let itemVal = $('.iNote-items').val();
  // 可以根据需求调整组合规则,这里示例是两个都不为空才保存
  if (hrdVal != "" && itemVal != "") {
    uniqid = Date.now();
    id = (uniqid / 1231).toString().split(".")[1] + randChar(4);
    // 存储对象保存两个字段
    list[id] = {
      hrd: hrdVal,
      item: itemVal
    };
    $('title').text("You have (" + Object.keys(list).length + ") item/s on your ToDo List");
    if (storage) {
      localStorage.setItem("list", JSON.stringify(list));
    }
    // 保存后清空两个文本框
    $('.hrd').val("");
    $('.iNote-items').val("");
    // 渲染对应两个字段
    $('.sNote').append(
      '<div class="list-item" data-postid="' + id + '">' + 
      '<p>分类:' + hrdVal + '</p>' +
      '<p>内容:' + itemVal + '</p>' +
      '</div><div class="close"><i class="fas fa-times"></i></div>'
    );
  } else {
    // 哪个为空就聚焦哪个
    if (hrdVal === "") $('.hrd').focus();
    else $('.iNote-items').focus();
  }
});

同时对应的初始化渲染逻辑也要同步修改:

for (var i = 0; i < Object.keys(list).length; i++) {
  let key = Object.keys(list)[i];
  let item = list[key];
  $('.sNote').append(
    '<div class="list-item" data-postid="' + key + '">' + 
    '<p>分类:' + item.hrd + '</p>' +
    '<p>内容:' + item.item + '</p>' +
    '</div><div class="close"><i class="fas fa-times"></i></div>'
  );
}

内容的提问来源于stack exchange,提问作者CoreTM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 14:18:03