gpt4 book ai didi

jquery - 在 Firefox 和 IE 上使用 event.stopPropagation()

转载 作者:行者123 更新时间:2023-12-01 06:17:00 25 4
gpt4 key购买 nike

为什么此代码不适用于 Firefox 和 IE?在 Chrome 上没问题。

$(document).click(function(e) {
if ($(".contentIconDesk").hasClass('markIconDesk')) {
$(".contentIconDesk").removeClass('markIconDesk');
wndSelected = "";
}
});

function markMe(icon, wnd) {
event.stopPropagation();
if ($('#'+icon).hasClass('markIconDesk')) {
$(".contentIconDesk").removeClass('markIconDesk');
wndSelected = "";
} else {
$(".contentIconDesk").removeClass('markIconDesk');
$('#'+icon).addClass('markIconDesk');
wndSelected = wnd;
}
};

函数 MarkMe(); 在我的 HTML 中某个 div 的 onClick() 事件中被调用。问题出在 event.stopPropagation() 上。当我单击添加类时,浏览器捕获 $(document) 上的单击。

如果有一个好的建议而不是使用上面的代码,那就太好了。

最佳答案

你可以试试这个。对于 HTML 中的 div,按如下方式修改:

<div id="something1" onclick="markMe('icon1', 'wnd1', event)">
<div id="something2" onclick="markMe('icon2', 'wnd2', event)">
<div id="something3" onclick="markMe('icon3', 'wnd3', event)">

在你的js中使用它,如下所示:

function markMe(icon, wnd, e) {

if (!e) var e = window.event;
e.stopPropagation();

$(".contentIconDesk").removeClass('markIconDesk');
if ($('#' + icon).hasClass('markIconDesk')) {
wndSelected = "";
} else {
$('#' + icon).addClass('markIconDesk');
wndSelected = wnd;
}
};

关于jquery - 在 Firefox 和 IE 上使用 event.stopPropagation(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com