简体   繁体   English

当上次也是动态创建时,如何让 li 动态点击

[英]how can you make li click dynamically when last was also created dynamically

The list was dynamically produced as follow;该列表是动态生成的,如下所示;

 function addItemsToList(name, surname, location, town, userid, email) { var listEmployeesInfo=document.getElementById('mListHeader'); listEmployeesInfo.innerHTML='Province Retrieved: '+(location)+' | Town: '+(town); var ul=document.getElementById('list'); var header=document.createElement('h2'); var _name=document.createElement('li'); var _surname=document.createElement('li'); var _userid=document.createElement('li'); var _email=document.createElement('li'); _name.innerHTML='Name : '+name; _surname.innerHTML='Surname : '+surname; _userid.innerHTML='User ID : '+userid; _email.innerHTML='Email : '+email; ul.append(header); ul.appendChild(_name); ul.appendChild(_surname); ul.appendChild(_userid); ul.appendChild(_email); }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="column right" style="overflow-y: auto; height: 500px; " id="listDiv"> <h3 id="mListHeader" style="padding-left: 10px;">Employee List Viewed</h3><br> <button id="btn-Update">Update</button> <ul class="empList" id="list"> </ul> </div>

How can I make li elements clicker-able?如何使 li 元素可以点击? because I want to able to update name, surname, id and email of clicked group?因为我想能够更新点击组的姓名、姓氏、ID 和电子邮件?

Use event delegation on the parent list在父列表上使用事件委托

var ul = document.getElementById('list');
ul.addEventListener('click', function(evt) {
   var tgt = evt.target;
   if (tgt.matches('li')) {
      console.log(tgt.textContent);
   } 
});

so you capture the click event on the bubbling phase with only one event handler, no matter if the list-items are already in the document or if they have been dynamically created.所以你只用一个事件处理程序在冒泡阶段捕获点击事件,无论列表项是否已经在文档中或者它们是否已经动态创建。

As a side note you can't append a header as a child of a list ( ul.append(header); )作为旁注,您不能将标题附加为列表的子项( ul.append(header);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何添加 <form > 动态标记到也动态创建的ul的li个项目 - How to add a <form > tag dynamically to the li items of an ul that are also being created dynamically 如何在li中动态获取动态创建的ID - How to dynamically get the dynamically created ID in a li <li>元素不能使用javascript动态创建 - <li> element can not be created dynamically using javascript 在Polymer中,单击时可以动态创建纸按钮更改颜色吗? - In Polymer can I make a dynamically created paper-button change color when I click it? 我怎样才能做我的第一个<LI>标签在排序中动态变化时着色 - How can i make my first <LI> Tag to be colored when it dynamically changes in sorting 如何禁用动态创建 <li> 元件? - How to disable a dynamically created <li> element? 如何访问动态创建的<li> javascript 中的元素?</li> - How to access the dynamically created <li> Element in javascript? 在附加之前,如何检查最后一个动态创建的li元素是否填充在ul中 - How do I check if the last dynamically created li element is filled in a ul before appending JQuery 点击事件不适用于 mvc 中动态创建的 ul Li 列表 - JQuery click event is not working on dynamically created ul Li list in mvc Angular 8/9 如何动态禁用同样是动态创建的按钮? - Angular 8/9 How to disable buttons dynamically that were also created dynamically?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM