国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - 這個事件程式碼怎麼理解?
代言
代言 2017-06-28 09:28:50
0
4
948
    <input type="text" id="txt" placeholder="輸入要添加的文本" />
    <button id="btn">加 </button>
    <ul id="ul">
        <li>11111</li>
        <li>22</li>
        <li>3333</li>
        <li>4444</li>
    </ul>
    <script type="text/javascript">
        var ul = document.getElementById("ul");
        var lis = ul.getElementsByTagName('li');
        var btn = document.getElementById("btn");
        
        btn.onclick = function() {   //動態(tài)添加li
            var txt = document.getElementById("txt"),
                txtValue = txt.value,
                ali = document.createElement("li");
                console.log(txt.value);                    
                ali.innerHTML = txtValue;
                ul.appendChild(ali);
        }
        
        ul.onmouseover = function(ev) {
            var ev = ev || window.event;   //獲取發(fā)生事件 event 兼容      =====1
            var target = ev.target || ev.srcElement;   //獲取真正被觸發(fā)的元素     =====2
            if (target.nodeName.toLocaleLowerCase() == 'li') {
                //判斷target是否是所需要的元素  正是因為這個判斷 我們可以得到任何想要的元素  a li td 等等
                target.style.background = "red";
            }
        }
        ul.onmouseout = function(ev) {
            var ev = ev || window.event;
            var target = ev.target || ev.srcElement;
            if (target.nodeName.toLocaleLowerCase() == 'li') {
                target.style.background = "";
            }
        }
    </script>

標註的1和2兩處的程式碼的寫法怎麼理解?看不懂= =哪來的api

代言
代言

全部回覆(4)
給我你的懷抱

ev是事件的參數(shù),在ev中包含了事件觸發(fā)時的參數(shù),例如click事件的ev中包含ev.pageX,ev.pageY,keydown事件中包ev.keyCode等,在ie中,ev是全域的可以透過window.event來獲取,在其他瀏覽器中都是作為參數(shù)傳入的。

大家講道理

function 中ev是event的縮寫,即事件。而事件的介面屬於瀏覽器端實作。

簡單來說:window/event屬於全域變量,只要在瀏覽器中執(zhí)行,預設存在此變數(shù)。

學霸

主要是處理瀏覽器相容性
例如2
舊的ie瀏覽器,或是事件對應的元素需要用 ev.srcElement,而現(xiàn)在瀏覽器只需要使用 ev.target 就可以了

我想大聲告訴你

1和2都是為了相容IE事件的寫法。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板