[英]how to resolve issue "addEventListener" "click" not working in javascript,
我正在嘗試添加“addEventListener”,我正在測試其中一個示例,但它不起作用。 誰能告訴我我做錯了什么或遺漏了什么?
<body>
<div class="appreciation-row ng-scope" ng-repeat="...">
<!-- content -->
<div class="emoji-wrapper">
<div class="emoji-reactions">
<div class="emoji-reactions-main">
🎉
</div>
<div class="emoji-reactions-panel">
<ul>
<li> 🎉 </li>
<li> 👏 </li>
<li> 🎬 </li>
<li> 🔥 </li>
<li> 😄 </li>
</ul>
</div>
</div>
</div>
<span class="mySpanClass"></span>
</div>
<script>
const tag = document.createElement("span");
tag.className = 'mySpanClass';
document.getElementsByClassName("appreciation-row")[0].appendChild(tag);
const emojis = document.getElementsByClassName("emoji-reactions-panel")[0].getElementsByTagName("li");
console.log(emojis.length); /* 5 */
Array.from(emojis).forEach(function (item) {
console.log("item", item);
item.addEventListener('click', emojiClickfunc);
});
function emojiClickfunc() {
console.log("clicked...")
alert('clicked...');
}
</script>
<!-- style -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</body>
我創建了一個示例示例,但奇怪的是它在那里工作:但不是我上面的代碼:(
希望能提供一些有關如何解決此問題的指導。
編輯:
在進行隨機更改時,添加單擊 window
Array.from(emojis).forEach(function (item) {
console.log("item", item);
window.addEventListener('click', emojiClickfunc);
});
我正在努力嘗試找到解決方案。 我需要找出按項目單擊無序列表的哪一行,而不是通過 window。
我沒有使用 AngularJS 的經驗,但是如果您正在使用它並且問題似乎是特定於它的,也許您可以嘗試用 AngularJS 的方式做事?
就像 ng-click 指令https://docs.angularjs.org/api/ng/directive/ngClick
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.