出于好奇,我一直在使用jQuery来确定浏览器的屏幕大小,我想到屏幕大小可以用来确定访问者是否使用iPhone / iTouch来查看网站。 所以我使用以下来测试这个: $(document).ready( function() { var screenX = screen.width, screenY = screen.height; alert(“X: ” + screenX + ” Y: ” + screenY); if (screenX == 320 && screenY == 396) { $(‘div#wrap’).css(‘background-color’,’#f00′); } else if (screenY == 320 && screenX == 396) { $(‘div#wrap’).css(‘background-color’,’#0f0′); } } ); 在通过iPhone查看页面时,我注意到尺寸始终如一(无论方向如何): x:320,y:396 这与方向无关。 到目前为止,我还没有尝试使用onChange事件来检测更改(主要是因为我在jQuery上仍然很新),但我想知道是否有办法通过jQuery或普通的javascript确定iPhone / iTouch的定位?
我试图在单击另一个按钮时触发输入类型=“文件”上的单击事件。 演示: http : //jsfiddle.net/Y85g6/ 它在所有浏览器中都运行良好,除了在mac,Ipad和Iphone中的safari浏览器。 有什么技巧可以完成这项任务吗?
我正在寻找添加“doubletap”和“longtap”事件的最佳解决方案,以便与jQuery的live(),bind()和trigger()一起使用。 我推出了自己的快速解决方案,但这是一个小小的车。 有没有人有他们会推荐的插件,或者他们想要分享他们自己的实现?
所以,我在jQuery Mobile应用程序中有一些方便的function,让用户知道他/她是否正在离开页面,因为这会触发注销。 以简化forms: $(window).bind(‘beforeunload’, function() { return “Navigating away from this page will log you off. Are you sure you want to continue?”; }); $(window).unload(function() { logoff(); }); 这在我的笔记本电脑上的Safari和Chrome中都很好用。 但是,它似乎不适用于iPhone模拟器。 iOS中包含的移动浏览器(我知道它是Safari,但可能是不同的版本)根本不支持beforeunload事件吗? 这对于移动设备(特别是Android)来说是否正确?
对于一个网站,我想在用户“长按”屏幕时显示自定义上下文菜单。 我在我的代码中创建了一个jQuery Longclick监听器来显示自定义上下文菜单。 将显示上下文菜单,但也会显示iPad的默认上下文菜单! 我试图通过在我的监听器中向事件添加preventDefault()来防止这种情况,但这不起作用: function showContextMenu(e){ e.preventDefault(); // code to show custom context menu } $(“#myId”).click(500, showContextMenu); 问题 你可以阻止iPad的默认上下文菜单显示吗? 可以使用jQuery Longclick插件完成吗? Longclick插件具有针对iPad的一些特定处理(假设通过它的源代码片段): if (!(/iphone|ipad|ipod/i).test(navigator.userAgent)){ $(this) .bind(_mousedown_, schedule) .bind([_mousemove_, _mouseup_, _mouseout_, _contextmenu_].join(‘ ‘), annul) .bind(_click_, click) } 所以我假设这回答了我的第二个问题(假设插件使用了正确的事件)。
我有一个jquery移动网络应用程序。 在我的iPhone上,当我在网络应用程序上时,我有一个登录和会话变量。 如果我让应用程序转到手机上的其他位置然后返回到Web应用程序,我必须再次登录。 似乎没有维护会话。 此外,如果我有一个外部链接,并打开该链接的safari,相同的会话不会转移到safari窗口。 有没有办法维持会话?