簡體   English   中英

如何解決問題“addEventListener”“click”在 javascript 中不起作用,

[英]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>

console.log("item", item); 的結果

我創建了一個示例示例,但奇怪的是它在那里工作:但不是我上面的代碼:(

希望能提供一些有關如何解決此問題的指導。

編輯:

在進行隨機更改時,添加單擊 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM