我从这个问题中找到了一个关于检测div外部点击的好答案:我如何检测元素外部的点击?,这工作得非常好。
但我注意到,在测试我的站点时,如果我点击元素外部,它在iPhone上不起作用。
下面是代码(直接取自该答案)
$('html').click(function() {
//Hide the menus if visible
});
$('#menucontainer').click(function(event){
event.stopPropagation();
});
var doc = document.documentElement;
doc.addEventListener('click', function (e) { //TODO();});
诀窍:
/*Add this line into only mobile css*/
body{cursor:pointer}
这对我有用:)
$('html').on('touchstart', function(e) {
$('.navbar-flyout').hide();
})
$(".navbar-flyout").on('touchstart',function(e) {
e.stopPropagation();
});
问题内容: 我有一些HTML菜单,当用户单击这些菜单的标题时,它们会完整显示。当用户在菜单区域之外单击时,我想隐藏这些元素。 jQuery可能会发生这种情况吗? 问题答案: 注意:应该避免使用,因为它会破坏DOM中的正常事件流。有关更多信息, propagation/)。考虑使用这种方法,而不是 将单击事件附加到关闭窗口的文档主体。将单独的click事件附加到容器,以停止传播到文档主体。
问题内容: 如何检测元素外部的点击?我正在使用Vue.js,因此它将不在我的模板元素之外。我知道如何在Vanilla JS中做到这一点,但是当我使用Vue.js时,我不确定是否有更合适的方法来做到这一点? 我想我可以使用更好的方法来访问元素? 问题答案: 只需设置一次自定义指令即可很好地解决: 用法: 在组件中:
我正在尝试使用量角器登录谷歌帐户 google-account-spec.js conf.js 登录页面.js我正在使用页面对象模式(登录页面是页面对象) 当我尝试点击下一步按钮输入密码时,我得到一个错误 {WebDriverError:未知错误:元素…在点(1100527)处不可单击。其他元素将收到单击: 它说该元素不可点击,但之前在代码中我一直在等待它变得可点击。所以我就是不明白,这个元素怎么
问题内容: 我有一些HTML菜单,当用户单击这些菜单的标题时,它们会完整显示。当用户在菜单区域之外单击时,我想隐藏这些元素。 jQuery可能会发生这种情况吗? 问题答案: 注意:应该避免使用,因为它会破坏DOM中的正常事件流。有关更多信息,请参见本文。考虑使用这种方法,而不是 将单击事件附加到关闭窗口的文档主体。将单独的click事件附加到容器,以停止传播到文档主体。
问题内容: 我在使用jquery和附加到锚元素的click事件时遇到问题。[1]:jQuery超链接- href值?“这个” SO问题似乎是重复的,并且可接受的答案似乎并不能解决问题。对不起,这是不好的礼节。 在我的.ready()函数中,我有: 我的锚点看起来像这样: 但是当单击链接时,将按需执行ajax功能,但是浏览器滚动到页面顶部。不好。 我尝试添加: 在调用执行ajax的函数之前,但这无济
一切都很好,直到我到达我的页面的底部10%。 我得到以下错误: 未捕获的WebDriverError:Appium Error:unknown Error:在点(20,324)处不能单击元素。其他元素将收到click:...(Session info:chrome=58.0.3029.83)(驱动程序信息:chromedriver=2.29.461571(8A88BBE0775E2A23AFDA0