Jim*_*Jim 16 javascript safari jquery ipad
我正在使用jQuery来检测DOM上的点击 - 或者让我们点击每一次.
$(document).click(function(){
alert("Click :-)");
});
Run Code Online (Sandbox Code Playgroud)
除了适用于iPad/iPhone的Safari之外,每个浏览器都能很好地工作.我也尝试在html或body元素上应用事件 - 没办法.如何检测iPad/iPhone上的常见点击?
最好的问候,吉姆
gui*_*ouz 20
正如我在http://www.danwellman.co.uk/fixing-jquery-click-events-for-the-ipad/上找到的那样,您可以测试用户代理并使用touchstart或点击,具体取决于平台
var ua = navigator.userAgent,
event = (ua.match(/iPad/i)) ? "touchstart" : "click";
$(document).on(event, function (ev) {
...
});
Run Code Online (Sandbox Code Playgroud)
这些答案让我开始朝着正确的方向发展(首先谷歌为"jquery document.on ipad"),所以非常感谢,但是从这个答案中借鉴我将其简化为:
$(document).on("click touchstart", function (ev) {
...
});
Run Code Online (Sandbox Code Playgroud)
如果平台(如Android或Windows Phone或其他东西)支持事件泡泡中的click和touchstart,这显然会产生不良结果,所以如果有人知道让我知道(我将修复我的代码并删除此答案!: )
我用过这个:
jQuery(document).on('touchstart',function(event){
//your code here
});
Run Code Online (Sandbox Code Playgroud)
- 而不是"文档",你可以绑定到任何DOM对象.
这(来自另一个论坛答案):
var body = document.getElementsByTagName('body')[0];
if ("ontouchstart" in window) {
body.ontouchstart = function(){
//your code here
};
};
Run Code Online (Sandbox Code Playgroud)
-again,你不必使用'body'你可以通过这种方式为一个对象分配一个变量:
var dd = document.getElementsByClassName('infoAction')[0];
Run Code Online (Sandbox Code Playgroud)
$('html').click(function(){
alert("Click :-)");
});
Run Code Online (Sandbox Code Playgroud)
这对我有用,我现在测试了。
甚至可以在页面上没有内容的情况下工作,无论您在页面上的任何位置单击。
| 归档时间: |
|
| 查看次数: |
22413 次 |
| 最近记录: |