为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕后森 2021-11-12 18:37:22
不知道为什么这不起作用,但由于某种原因,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();});不确定是否还有其他需要解决的问题?
查看完整描述

2 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

为了尽可能减少更改,我会将您的 JS 更改为:


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

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

    console.log("click test");

    e.preventDefault();

});

这似乎对我有用。试试这个 jsfiddle 看看这是否是你要找的:https ://jsfiddle.net/91myczwj/1/


查看完整回答
反对 回复 2021-11-12
?
倚天杖

TA贡献1828条经验 获得超3个赞

我建议您对这个特定的代码片段使用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){

    windowElement.classList.add("hidden");

    console.log("click test");

    e.preventDefault();

});


查看完整回答
反对 回复 2021-11-12
  • 2 回答
  • 0 关注
  • 207 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信