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



不知道为什么这不起作用,但由于某种原因,单击事件正在触发console.log但随后它没有执行对我尝试定位的 HTML 元素的addClass。不确定我是否需要注意。我已经在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();
});

不确定我是否需要解决其他问题?

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

$(document).on('click','.close-box', function(e){
$('.window-element').addClass('hidden');
console.log("click test");
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){
windowElement.classList.add("hidden");
console.log("click test");
e.preventDefault();
});

检查此工作代码示例

最新更新