el.nextSibling.contains的IE8和IE9兼容语句(e.target)

时间:2015-09-14 23:42:19

标签: javascript jquery internet-explorer-8 internet-explorer-9

我正在寻找if (! el.nextSibling.contains(e.target) )的模拟,不确定哪些jQuery替代品可行,并将支持IE8和IE9

我已经尝试了$.contains($(el).next(), e.target)和各种变化,但我已经碰壁了。有什么建议吗?

编辑 - 在这种情况下的事件是点击:

document.addEventListener('click', function(e) {
  [].forEach.call(myMenu.open, function(el) {
    el.addEventListener('click', function(e) {
        myMenu.activate(e);
    }, false);
  });
}

...

'activate': function(e) {
    e.preventDefault();

    var open = document.querySelectorAll('.slide');


    [].forEach.call(open, function(el) {
      if (!el.nextElementSibling.contains(e.target) && el != e.target) {
        console.log('Do something');
      }
    }
}

第二次更新: 我现在以不同的方式进行此操作 - 我能够引用parentNode并获得我想要的相同效果,这在IE8和IE9中得到支持。 E.G:

if (!el.parentNode.contains(e.target) && el != e.target) {

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

if (!el.parentNode.contains(e.target) && el != e.target) {

适用于我的情况,并受IE8和IE9支持

相关问题