我更改了ul中的文本区域元素时,将侦听器添加到无序列表以执行功能。更改文本区域后,我想获取现在更改的文本区域的值,并将其保存。当我尝试将值保存在newNotes中时,我得到的是文本区域的INITIAL值,而不是更改了文本区域后的值。难道不是在更改时触发侦听器的全部功能吗?

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

}
});

最佳答案

您需要textarea中的value

更改

var newNotes = e.target.textContent;




var newNotes = e.target.value;

关于javascript - Javascript事件监听器行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50440072/

10-12 01:01