我有一个使用 jQuery 在 (document).ready
上弹出的模式。
$(document).ready(function() {
$("#openModal").toggleClass("target");
});
$(window).one( "click", function() {
$( "#openModal" ).toggleClass("target");
});
它在桌面上运行良好,但在 iOS Safari 上它不会在点击时关闭。
我读到了 the cursor:pointer
fix ,但它不想在这种情况下工作。我猜这是因为事件绑定(bind)到窗口,而光标绑定(bind)到元素。
而且我显然不能把 body{cursor:pointer;}
这可能是由什么引起的?
最佳答案
使用 .one
只会在第一次点击窗口时触发此事件,因此如果您在模式打开之前点击(点击)窗口,该函数将不会再次运行。尝试使用这个:
$(window).on( "click", function() {
$( "#openModal" ).toggleClass("target");
});
回复后编辑:
我猜你希望模式只在文档准备好时打开一次,然后这样做,避免使用 toggleClass 并改用它:
$(document).ready(function() {
$("#openModal").addClass("target");
});
$(window).click(function() {
$( "#openModal" ).removeClass("target");
});
关于javascript - jQuery window.one ("click") 无法在移动设备上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28635398/