浏览器忽略的javascript dom事件

时间:2019-05-02 16:35:06

标签: javascript dom

我真的很困惑,除此以外,其他元素的onclick仍然有效,

        var chatPop = document.createElement('div'),
        chatClose = document.createElement('button');

        chatPop.classList.add('chat-pop')

        chatClose.appendChild(document.createTextNode('X'));
        chatClose.onclick = () => $c('chat-pop')[0].remove()
        chatHeader.appendChild(chatClose)
        chatPop.appendChild(chatHeader)
        document.body.appendChild(chatPop)

并且onclick事件不存在

enter image description here

1 个答案:

答案 0 :(得分:0)

您需要在脚本中解决一些问题。

  • chatHeader变量是undefined
  • c中删除$c('chat-pop')[0].remove(),然后在选择器中添加.,如下所示:$('.chat-pop')[0].remove()
  • 您是否将jQuery包含到html中?您需要JQuery才能使用$函数。您还可以将$('.chat-pop')[0].remove()替换为document.getElementsByClassName('chat-pop')[0].remove()
var chatPop = document.createElement('div'),
    chatHeader = document.createElement('div'),
    chatClose = document.createElement('button');

chatPop.classList.add('chat-pop')
chatClose.appendChild(document.createTextNode('X'));
chatClose.onclick = () => document.getElementsByClassName('chat-pop')[0].remove()
chatHeader.appendChild(chatClose)
chatPop.appendChild(chatHeader)
document.body.appendChild(chatPop)