Javascript事件监听器行为

时间:2018-05-20 22:48:36

标签: javascript html

我在无序列表中添加了一个侦听器,以便在更改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         

}              
});

2 个答案:

答案 0 :(得分:1)

您想要来自textarea的value

更改

var newNotes = e.target.textContent; 

var newNotes = e.target.value; 

答案 1 :(得分:0)

您必须使用.value属性。

var newNotes = e.target.value;

另见Textarea.textcontent is not changing