Javascript事件侦听器行为
我在无序列表中添加了一个侦听器,以便在ul中的文本区域元素发生更改时执行一个函数。当文本区域被更改时,我想得到现在更改的文本区域的值,并保存它。当我尝试在newNotes中保存值时,返回的是文本区域的初始值,而不是文本区域更改后的值。这不正是听众的全部观点吗,当一个改变被触发时Javascript事件侦听器行为,javascript,html,Javascript,Html,我在无序列表中添加了一个侦听器,以便在ul中的文本区域元素发生更改时执行一个函数。当文本区域被更改时,我想得到现在更改的文本区域的值,并保存它。当我尝试在newNotes中保存值时,返回的是文本区域的初始值,而不是文本区域更改后的值。这不正是听众的全部观点吗,当一个改变被触发时 ul.addEventListener('change',(e)=> { if(e.target.tagName === "TEXTAREA") { // if the ul was changed and a
ul.addEventListener('change',(e)=> {
if(e.target.tagName === "TEXTAREA") { // if the ul was changed and a textarea was targeted
const li = e.target.parentNode; // the parent list item of the text area
const liName = li.firstChild.textContent; // this is a string
var newNotes = e.target.textContent; // PROBLEM : RETURNS WRONG VALUE
console.log(newNotes);
updateNotesTo(liName, newNotes); // regarding localStorage
}
});
您需要文本区域中的
值
改变
var newNotes = e.target.textContent;
到
您必须使用
.value
属性
var newNotes = e.target.value;
另见
var newNotes = e.target.value;