我已经读过,从点击链接/按钮到事件触发的时间,移动Safari的点击事件有300毫秒的延迟.延迟的原因是等待用户是否打算双击,但从UX角度来看,等待300毫秒通常是不合需要的.
消除这300ms延迟的一个解决方案是使用jQuery Mobile"tap"处理.不幸的是,我不熟悉这个框架,如果我需要的是一行或两行代码touchend
以正确的方式应用,我不想加载一些大框架.
像许多网站一样,我的网站有很多点击事件,如下所示:
$("button.submitBtn").on('click', function (e) {
$.ajaxSubmit({... //ajax form submisssion
});
$("a.ajax").on('click', function (e) {
$.ajax({... //ajax page loading
});
$("button.modal").on('click', function (e) {
//show/hide modal dialog
});
Run Code Online (Sandbox Code Playgroud)
我想做的是使用如下单个代码片段来消除所有这些点击事件的300毫秒延迟:
$("a, button").on('tap', function (e) {
$(this).trigger('click');
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
这是一个坏/好主意吗?
有没有人知道一个非常好的教程或示例项目,其中Phonegap和jQuery Mobile用于现实世界的例子?
我发现的所有示例都在jQuery Mobile中显示了奇特的过渡或主题.Phonegap示例主要展示了Phonegap API.
我找不到使用Phonegap和jQuery Mobile来解决实际问题的单一示例,例如编写一个结合了Phonegap和jQuery Mobile的应用程序来进行用户输入验证,保存数据,将数据上传到Web服务等.
我想知道如何动态增强jQuery Mobile页面?
我试图使用这些方法:
$('[data-role="page"]').trigger('create');
和
$('[data-role="page"]').page();
另外,我如何才能阻止复选框的增强标记?
有没有办法,记住jQuery Mobile框架的运作方式,修复页面,使页脚始终与页面底部对齐 - 无论高度如何.
因为它会改变jQuery页面的高度,特别是当设备从纵向旋转到横向时,所以解决方案必须考虑到这一点.
只是为了澄清 - 我不需要页脚位于视口的底部,只是工作,以便默认页面高度不会低于视口高度.
谢谢.
我想知道我是否要开发移动网络应用程序(现在,两周或一个月内),我应该选择哪一个?移动Web开发人员会选择哪一个?
如果jQM 1.0今天正式发布,我很可能会接受它(只要它实际上实现了它所承诺的).既然它是alpha版本,我想知道是否值得进入商业级项目?Sencha Touch会更好吗?
我在Handlebars中预先编译模板时遇到了一些困难.我的jQuery Mobile项目在模板方面变得非常大,我希望预编译我使用的模板.
但是,我似乎无法找到一个很好的解释(如一步一步的教程)如何使用Handlebars做到这一点.
我仍然使用脚本标记内联我的模板.我使用NPM安装了车把.但现在我有点迷失如何继续前进.
我猜是在做类似的事情
handlebars -s event.handlebars > event.compiled
Run Code Online (Sandbox Code Playgroud)
并以某种方式包括event.compiled内容?但是,如何称呼它.
我正在调用我的模板
var source = $('#tmpl_profile').html(),
template = Handlebars.compile(source),
context = user.profile()),
html = template(context);
Run Code Online (Sandbox Code Playgroud)
希望有人可以为我阐明这一点.
当我在页面之间导航时,我的phonegap/jquery移动应用程序大部分时间都会闪烁.这是正常的还是有解决方案?
这是针对jQuery Mobile的.并非所有常规jQuery答案都能正常运行.
我无法在jQuery Mobile中禁用我的按钮.
jQuery Mobile说要使用
$('input').button('disable');
Run Code Online (Sandbox Code Playgroud)
但是我在Firebug中收到一条错误消息:
未捕获的异常:在初始化之前无法调用按钮上的方法; 试图调用方法'禁用'.
它位于我页面的文档就绪部分,所以我不知道它是如何初始化的.
我试过直接通过它的id调用按钮,但这不起作用.
我试过了:
$('button').attr("disabled", "disabled");
Run Code Online (Sandbox Code Playgroud)
不行.
我还有一个switch命令,它将根据值的大小启用一个按钮.我有那个部分到它的路由到正确的"case"语句,但jQuery mobile中的启用/禁用按钮的东西不起作用.
我一直在关注这个教程 - http://www.youtube.com/watch?v=R2hOvZ7bwXU,它基本上解释了如何使用postmessage在iframe和父级之间安全地传递消息 - 你基本上最终会得到这样的东西 - http://html5demos.com/postmessage2
我的问题是我需要它以相反的方式工作(子到父)并且不知道如何定位父窗口.
这是我的接收者代码(在父母中) -
function handlingMsg(e)
{alert("works")
if(e.origin == "http://uc.dialogue.net")
{
var blah = e.data;
alert(blah);
}
else{alert("error");}
}
addEventListener("message",handlingMsg, true);
Run Code Online (Sandbox Code Playgroud)
这是由简单表格(在孩子中)触发的发件人功能 -
var text=$('.srchInput').val();
window.parent.postMessage(text, "http://uc.dialogue.net");
Run Code Online (Sandbox Code Playgroud)
我应该以不同的方式定位父母吗?
干杯保罗
我正在使用JQuery Mobile版本4.1a并使用:
data-position="fixed"
Run Code Online (Sandbox Code Playgroud)
在页眉和页脚上.
当我滚动内容时,它会消失然后再次出现.
有没有办法让它保持在它的位置而不是每次我滚动页面时都消失?
谢谢
jquery-mobile ×10
javascript ×4
jquery ×4
cordova ×3
html5 ×2
css ×1
safari ×1
sencha-touch ×1
touch ×1