簡體   English   中英

添加未附加的事件偵聽器

[英]Add Event Listener not attaching

我可以 console.log 我的 '.span' 元素以及我的 '.header' 元素,但我不能將事件偵聽器附加到任何一個。 不過,我可以將事件偵聽器附加到我的 innerDiv (const c)。

最終,.span 將作為刪除模態的方式。

JSFiddle

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="shortcut icon" href="#">
    <link rel='stylesheet' href='style.css'>
    <script type="text/javascript" src="./index.js" defer></script>
</head>
<body>
    <button id='test'>test</button>
</body>
</html>
function createModal(id, className, innerId, wrapName){
    const div = document.createElement('div')
    div.setAttribute('id', 'poem-header'+id)
    div.classList = 'header'
    const span = document.createElement('span')
    span.classList = 'span'
    span.innerHTML = 'X'
    div.appendChild(span)

    const c = document.createElement('div')
    c.setAttribute('id', `${innerId}`)
    c.classList = 'poem'
    const wrap = document.createElement('div')
    wrap.setAttribute('id', wrapName)
    wrap.classList = 'wrap'
    document.body.appendChild(wrap)
    document.getElementById(`${wrapName}`).append(div, c)

    document.querySelector('.span').addEventListener('click', function(){
        console.log('working')
    })
}
 document.getElementById('test').addEventListener('click', ()=>{
    document.getElementById('test').setAttribute('disabled', 'true')
    createModal('-0', 'poem0', 'poem0', 'wrap0')
 })

-99999 的 z-index 導致.wrap不可點擊; 點擊注冊不是在它上面,而是在它上面的元素(即<body> )上

刪除 z-index,它將是可點擊的。

 function createModal(id, className, innerId, wrapName) { const div = document.createElement('div') div.setAttribute('id', 'poem-header' + id) div.classList = 'header' const span = document.createElement('span') span.classList = 'span' span.innerHTML = 'X' div.appendChild(span) const c = document.createElement('div') c.setAttribute('id', `${innerId}`) c.classList = 'poem' const wrap = document.createElement('div') wrap.setAttribute('id', wrapName) wrap.classList = 'wrap' document.body.appendChild(wrap) document.getElementById(`${wrapName}`).append(div, c) document.querySelector('.span').addEventListener('click', function() { console.log('working') }) } document.getElementById('test').addEventListener('click', () => { document.getElementById('test').setAttribute('disabled', 'true') createModal('-0', 'poem0', 'poem0', 'wrap0') })
 .wrap { display: inline-block; position: absolute; height: 280px; width: 250px; background-color: rgb(241, 238, 238); margin: 0 auto; padding-bottom: 1em; border: 1px solid rgb(73, 71, 71); box-shadow: 5px 3px; margin-bottom: 1em; overflow: hidden; }.header { background-color: rgba(255, 255, 255, 0.849); padding: 0.5em; border: 1px solid rgb(75, 73, 73); color: rgba(39, 37, 37, 0.87); font-size: 1rem; font-weight: bold; text-align: right; cursor: grab; position: sticky; }.span { cursor: pointer; }.poem { display: inline-block; width: inherit; height: inherit; overflow: scroll; flex-direction: column; align-items: flex-start; text-align: center; cursor: help; }
 <button id='test'>test</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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