javascript – $(document).click()在iPhone上无法正常工作. jquery [复制]
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – $(document).click()在iPhone上无法正常工作. jquery [复制],小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1537字,纯文字阅读大概需要3分钟。
内容图文
![javascript – $(document).click()在iPhone上无法正常工作. jquery [复制]](/upload/InfoBanner/zyjiaocheng/717/a68ff33423554e1db403a15b8e4141ac.jpg)
参见英文答案 > How do I use jQuery for click event in iPhone web application 8个
此功能在IE,Firefox和Chrome上完美运行,但在iPhone上,只有在点击< img>时才能使用.点击页面(在img上的任何地方)都不会触发事件.
$(document).ready(function () {
$(document).click(function (e) {
fire(e);
});
});
function fire(e) { alert('hi'); }
HTML部分非常基础,不应该是一个问题.
有任何想法吗?
解决方法:
简短回答:
<style>
.clickable-div
{
cursor: pointer;
}
</style>
更长的回答:
重要的是要意识到如果你只是使用< a>标签一切都会按预期工作.您可以在常规的< a>上错误地点击或拖动. iPhone上的链接,一切都像用户期望的那样.
我想你有任意不可点击的HTML – 例如包含文字和图像的面板,不能用< a>包装.当我有一个我希望完全可点击的面板时,我发现了这个问题.
<div class='clickable-div' data-href="http://www.stackoverflow.com">
... clickable content here (images/text) ...
</div>
要检测此div中任何位置的单击,我将使用带有data-href html属性的jQuery,如上所示(此属性由我自己发明,不是标准的jQuery或HTML数据属性.)
$(document).on('click', '.clickable-div', function() {
document.location = $(this).data('href');
});
无论您点击多少,这都适用于您的桌面浏览器,但不适用于iPad.
您可能想要将事件处理程序从单击更改为单击touchstart – 这确实会触发事件处理程序.但是,如果用户想要向上拖动页面(滚动),它们也会触发它 – 这是一种糟糕的用户体验. [你可能已经注意到偷偷摸摸的横幅广告的这种行为]
答案非常简单:只需设置css游标:指针即可.
<style>
.clickable-div
{
cursor: pointer;
}
</style>
这为桌面用户提供了额外的好处,可以通过手形图标指示该区域是可点击的.
感谢https://stackoverflow.com/a/4910962/16940
内容总结
以上是互联网集市为您收集整理的javascript – $(document).click()在iPhone上无法正常工作. jquery [复制]全部内容,希望文章能够帮你解决javascript – $(document).click()在iPhone上无法正常工作. jquery [复制]所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。