jquery mobile实现原理,在网上也找不到。谁能简单分析一下。在一个标签里面简单的添加很多

jquerymobile实现原理,在网上也找不到。谁能简单分析一下。在一个标签里面简单的添加很多个data-xxx属性便可以改变所显示的样式是怎么实现的,如果只能添加一个... jquery mobile实现原理,在网上也找不到。谁能简单分析一下。在一个标签里面简单的添加很多个data-xxx属性便可以改变所显示的样式是怎么实现的,如果只能添加一个属性还好办,但貌似对自定义属性数量没有限制。比如<a>在里面添加data-role:button和data-icon:home就能形成一个带图标的按钮,这是如何实现的。我查源代码就是看不出来,就连[data-role=button]都找不到,真费脑筋。每当我看到jm简单地就表现出很炫的效果都会想怎么用纯css3和js实现它,可是连它的根本原理都不太懂。麻烦高手解释下 展开
 我来答
匿名用户
2014-06-13
展开全部

当你学会了css3 html5 以及移动端的JS框架。你就不屑去用qjm了。jqm优点是兼容性强。弱点就是速度太慢冗余代码太多一个项目哪需要那么多功能。现在很多框架实现选择性的组合生成一个真正适用于自己的版本 如 zepto.js 和jqmobi(这个不是jquerymobile哈,目前是速度最快的一 个 框架)。

我用各种js框架都试着做过app。结果jqm是最慢的一个,其他的也达不到理想的速度。后面决定自己写js和css。结果就是ios app打开速度由JQM的6秒左右提升为0.8秒的秒开。


原理:jqm先遍历dom元素,对每个绑定data-xxxx的属性进行事件绑定,里面有句代码是这样写的

b.getAttribute&&(d=b.getAttribute("data-"+a.mobile.ns+c);
------------------------------------------
tapToggleBlacklist:"a, button, input, select, textarea, .ui-header-fixed, .ui-footer-fixed, .ui-flipswitch, .ui-popup, .ui-panel, .ui-panel-dismiss-open",hideDuringFocus:"input, textarea, select"

对于不同的role对应不同的规则 而这些role存在于上述的一个list里。

追问
jqm确实是太庞大了,有时候根本用不到那么多功能却不得不载入整个jquery-mobile文件,好几百kb。我用它不是拿来编写自己的网站,而是长研究它的实现原理好自己手工做出来。css3和js基本掌握了,目前刚接触jqm框架,到这里才感到有点困难
追答
你要想研究就研究jqmobi吧 这个 框架更清晰,目前是最好的移动框架
冼慧雅3z
2014-06-13 · TA获得超过177个赞
知道小有建树答主
回答量:330
采纳率:100%
帮助的人:218万
展开全部
HML5 + CSS3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式