jQuery 单击事件在 IE11 Windows8 中不起作用

不知道为什么这不起作用,但由于某种原因,click 事件正在触发 aconsole.log但它没有执行addClass到我试图定位的 HTML 元素。不知道是否有什么我需要注意的。我已经在 Mac 上的 Chrome 中对此进行了测试,效果很好,但是当我在运行 Windows8 的 Surface 上测试时,没有骰子。


这是我所拥有的:


HTML:


<div class="window-element">

<p>thing to test</p>

<a href="#" class="close-box">Close this</a>

</div>

JS:


$(".close-box").on('click', function(e){

    $(".window-element").addClass("hidden");

    console.log("click test");

    e.preventDefault();

});

不确定是否还有其他需要解决的问题?


慕后森
浏览 289回答 2
2回答

Smart猫小萌

为了尽可能减少更改,我会将您的 JS 更改为:$(document).on('click','.close-box', function(e){&nbsp; &nbsp; $('.window-element').addClass('hidden');&nbsp; &nbsp; console.log("click test");&nbsp; &nbsp; e.preventDefault();});这似乎对我有用。试试这个 jsfiddle 看看这是否是你要找的:https ://jsfiddle.net/91myczwj/1/

倚天杖

我建议您对这个特定的代码片段使用vanilla JavaScript,如下所示:HTML:<div class="window-element"><p>thing to test</p><a href="#" class="close-box">Close this</a></div>JavaScript:const closeBox = document.querySelector('.close-box');const windowElement = document.querySelector('.window-element');closeBox.addEventListener('click', function(e){&nbsp; &nbsp; windowElement.classList.add("hidden");&nbsp; &nbsp; console.log("click test");&nbsp; &nbsp; e.preventDefault();});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript