javascript - jQuery window.one ("click") 无法在移动设备上运行

标签 javascript jquery html ios css

我有一个使用 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/

相关文章:

javascript - AngularJs:高度可调的多列

javascript - 切换时如何隐藏div a

jquery - 如何在 mvc3 中将值列表发送到 Controller

html - 我在 Ioniic 工作,我在 css 中添加了一个背景图片,但是当我构建 android 应用程序时,有一个空白区域代替了那个背景图片

html - 如果子元素位于父元素的第二行,则应用 CSS

html - 无需更改布局即可访问占位符文本

javascript - 在 React Native 中禁用 "Save Password"对话框

javascript - 将函数添加到 $scope 的性能优势?

javascript - stringByEvaluatingJavaScriptFromString 不执行操作

javascript - TinyMCE:检测 onLeave()