onKeyUp事件(无效)

onKeyUp event (not work)?

本文关键字:无效 事件 onKeyUp      更新时间:2023-09-26

我希望当我执行mouseup时,我可以选择删除或不删除带有"window.confirm"的列表。控制台显示"UnaughtReferenceError:li未定义"。

var add =  document.getElementById('create-memo');
function newMemo(list, itemText){
    var listMemo = document.createElement('li');
    listMemo.className = 'memo';
    listMemo.innerText = itemText;
    list.appendChild(listMemo);
  listMemo.addEventListener('mouseup', removeList);
}
function removeList(){
    if (window.confirm('You want remove this memo?')) {
        li.parentNode.removeChild(listMemo);
    }
}

要为keyup事件提供给.addEventListener的参数是keyup,而不是onKeyUp。改变这一点应该可以解决你的问题。

更新

看看这个正在运行的演示。我希望这就是你想要的。

// store element reference in variable, e.g. if list has this id
var items = document.querySelectorAll('#listMemo li');
// assign event listener to each
console.dir(items);
var i;
for (i = 0; i < items.length; i++) {
  items[i].addEventListener('click', removeListItem);
  console.log('add EL to ' + i);
}
function removeListItem(mouseEvent) {
  // get element 
  //debugger;
  var element = mouseEvent.target;
  if (window.confirm('Do you want to delete "' + element.textContent + '" ?')) {
    // remove the node
    element.parentNode.removeChild(element);
  };
}
<ul id="listMemo">
  <li>first item</li>
  <li>second item</li>
  <li>third item</li>
  <li>fourth item</li>
</ul>