【问题标题】:Javascript functions and IE error addEventListener JQueryJavascript 函数和 IE 错误 addEventListener JQuery
【发布时间】:2015-07-04 11:50:29
【问题描述】:

Internet Explorer 上一个版本显示关于 addEventListener 的非常丑陋的警报,我在这里阅读了一些修复,但就我而言,我认为解决方案是删除给我带来问题的 javascript 代码部分,但我的左侧为零Javascript。

这是代码,我确信该代码有 2 个或更多功能。第一个是用于我的下拉菜单,也使用 JQuery。但似乎 addEventListener 的最后一部分可能不是让我的下拉菜单工作所必需的。我从一个网站上得到了这个下拉菜单,我买了一个预先制作的有很多功能的网站

LMenu=$(".menu>ul>li");LMenu.find("ul").siblings().addClass("hasUl").append('<span class="hasDrop iconoflecha icono-flecha"></span>');LMenuLink=LMenu.find("a").not(".submenu a");LMenuLinkAll=LMenu.find("a");LMenuSubLink=LMenu.find(".submenu a").not(".submenu li");LMenuCurrent=LMenu.find("a.current");if(LMenuLink.hasClass("hasUl")){$(this).closest("li").addClass("hasSub")}LMenuLink.click(function(a){$this=$(this);if($this.hasClass("hasUl")){a.preventDefault();if($this.hasClass("drop")){$(this).siblings("ul.submenu").slideUp(250).siblings().toggleClass("drop")}else{$(this).siblings("ul.submenu").slideDown(250).siblings().toggleClass("drop")}}});LMenuSubLink.click(function(a){$this=$(this);if($this.hasClass("hasUl")){a.preventDefault();if($this.hasClass("drop")){$(this).siblings("ul.submenu").slideUp(250).siblings().toggleClass("drop")}else{$(this).siblings("ul.submenu").slideDown(250).siblings().toggleClass("drop")}}});if(!("boxShadow" in document.body.style)){document.body.setAttribute("class","noBoxShadow")}document.body.addEventListener("click",function(b){var a=b.target;if(a.tagName==="INPUT"&&a.getAttribute("class").indexOf("liga")===-1){a.select()}});(function(){var e=document.getElementById("fontSize"),d=document.getElementById("testDrive"),c=document.getElementById("testText");function b(){d.innerHTML=c.value||String.fromCharCode(160);if(window.icomoonLiga){window.icomoonLiga(d)}}function a(){d.style.fontSize=e.value+"px"}e.addEventListener("change",a,false);c.addEventListener("input",b,false);c.addEventListener("change",b,false);a()}());

我有一个 javascript 代码的小提琴,它会更容易阅读代码。

https://jsfiddle.net/epo5es5n/1/

编辑:我真的不知道 javascript 代码在哪里开始和结束。我只需要它来使 Lmenu 仅作为下拉 UL LI 菜单工作

【问题讨论】:

  • 真的有必要投反对票吗?去喝啤酒。如果你不想帮忙,就去别的地方吧
  • 点击Tidy Up按钮jsfiddle.net/epo5es5n/2
  • 没有错误细节和一大堆未格式化的代码不是在这里提问的正确方法。创建一个复制问题的演示
  • @novato 了解更多信息here
  • 不清楚你在问什么。抱歉,您需要尝试修改您的问题,以便我们更轻松地为您提供帮助。

标签: javascript jquery css html


【解决方案1】:

直到 IE8 的 IE 浏览器支持 addEventListener(我假设你说的是最新版本 你拥有 Internet Explorer 最新版本 em>)。 attachEvent 是 IE 等效项(嗯,不完全等效)。

如果您的目标浏览器只有 IE8,您可以将 addEventListeners 替换为 attachEvent 调用,但更好的选择(看到您似乎已经拥有 jQuery)必须将它们更改为 jQuery .bind(或者 .on,如果您有更高版本的jQuery)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 2012-02-18
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    相关资源
    最近更新 更多