簡體   English   中英

流暢地添加事件監聽器

[英]Adding Event Listeners Fluently

我在將事件偵聽器添加到html文檔中的元素時遇到困難。 我想念什么?

我總是犯錯。

我想完全理解它並流暢地使用它。

例如,我的新審判; 這甚至是來自類似問題的代碼,我都只是將第一個事件更改為“點擊”。 當我不說要添加偵聽器的元素時,它會起作用,但會單擊整個主體。

但是我在Mac上的Safari上看到以下錯誤:

[Error] TypeError: 'null' is not an object (evaluating 'formslink.addEventListener')
    global code (entr1.html, line 21)

代碼如下:

<html>
    <head>

    </head>
<script>
    function entranceForms()
    {
        var forms =  document.getElementById('entranceforms');

        if (forms.style.display === null || forms.style.display == 'none')
        {
            forms.style.display = 'block';
        }
        else
        {
            forms.style.display = 'none';

        }
    }
    var formslink=document.getElementById('formslink');
    formslink.addEventListener('click', entranceForms, false);
    var formscancel=document.getElementById('formscancel');
    formscancel.addEventListener('click', entranceForms, false);
    </script>

    <body>
    <p id="formslink">entrance</p>

    <DIV ID='entranceforms' STYLE='display: none; width: 100px; height:100px; border: 1px solid; position: absolute; top: 300px; left: 600px; z-index:1;
           background-color:white; opacity:1.0' >
            <P ID='formscancel'> Cancel </P> </DIV>


    </body>
    </html>

您需要一個元素來添加方法。

http://plnkr.co/edit/pgCqxCQ8MGeiahymcCpg?p=info

var elem = document.getElementById('entrancelink');
elem.addEventListener('click', entranceForms, false);

暫無
暫無

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

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