0

我有一个针对名为 mk-featured-kits 的 div id 的 li 元素的函数。所有这一切都完美无缺。

(function() {
    var myNode = document.getElementById('mk-featured-kits');
    myNode.addEventListener("mouseover", function(e) {
    console.log(e);
    if (e.target.tagName === 'LI') {
         // all happens here
    }
})();

我正在使用 Chrome 查看控制台日志,它允许我将此路径用于 LI:e.target.tagName。

由于 IE 8 和下面的不读取 addEventListener 事件,我正在使用这个(下面的代码)来检查该功能。问题是通过使用这种技术,我无法使用以下方法访问 LI:e.target.tagName === 'LI' 因为该事件仅将 myNode 视为 tagName === DIV。

(function() {
var myNode = document.getElementById('mk-featured-kits');
if (myNode.addEventListener) {  // all browsers except IE before version 9
    myNode.addEventListener ("mouseover", function () {myEvent (myNode)}, false);
} else {
    if (myNode.attachEvent) {   // IE before version 9
myNode.attachEvent ("onmouseover", function () {myEvent (myNode)});
    }
}
function myEvent(myNode) {
    console.log(myNode);
    if (myNode.target.tagName === 'LI') {
    // all happens here
}
})();

如何像在第一个脚本上那样访问 LI,但使用第二个脚本的技术。先感谢您。

这是html代码: <div class="mk-column">

`<div id="mk-featured-kits">
  <ul>
    <li id="kit01"><a href="#">Link 01</a></li>
    <li id="kit02"><a href="#">Link 02</a></li>
    <li id="kit03"><a href="#">Link 03</a></li>
    <li id="kit04"><a href="#">Link 04</a></li>
    <li id="kit05"><a href="#">Link 05</a></li>
    <li id="kit06"><a href="#">Link 06</a></li>
    <li id="kit07"><a href="#">Link 07</a></li>
    <li id="kit08"><a href="#">Link 08 </a></li>
    </ul>
</div>`

`

4

0 回答 0