jQuery和jQuery Mobile之间的区别?
我是移动Web开发的新手,我刚刚用PhoneGap制作了一个移动应用程序,频繁使用jQuery。
但是,我自然会遇到一些与我如何格式化事物有关的小故障,以及他们在我正在testing的移动设备屏幕上实际出现的方式,并试图解决这些问题,我偶然发现了许多build议,以便通过使用jQuery手机。
现在,这使我感到困惑 – jQuery没有格式化。 这只是我的初学者对移动CSS的知识水平造成的问题。
那么jQuery Mobile究竟做了什么,和普通的jQuery有什么不同呢? 如果我已经知道jQuery,那么对我来说会是什么新鲜事?
jQuery纯粹是为了简化和标准化跨浏览器的脚本而devise的。 它着重于低级别的东西:创build元素,操作DOM,pipe理属性,执行HTTP请求等。
jQueryUI是一套构build在jQuery之上的用户界面组件和function(即它需要jQuery工作):button,对话框,滑块,选项卡,更高级的animation,拖放function。
jQuery和jQueryUI都被devise为“添加”到你的站点(桌面或移动) – 如果你想添加一个特定的function,jQuery或jQueryUI可能会有所帮助。
但是, jQuery Mobile是一个完整的框架。 它旨在成为您的移动网站的起点。 它需要jQuery,并利用jQuery和jQueryUI的function来提供用于构build移动友好站点的UI组件和APIfunction。 你仍然可以尽可能多的使用它,但是如果你愿意的话,jQuery Mobile 可以通过移动友好的方式控制整个视口。
另一个主要区别是jQuery和jQueryUI的目标是成为HTML和CSS之上的一个层。 你应该能够只留下你的标记,并用jQuery来增强它。 但是,jQuery Mobile提供了一些方法来定义组件单独显示的位置,例如(来自jQuery Mobile站点):
<ul data-role="listview" data-inset="true" data-filter="true"> <li><a href="#">Acura</a></li> <li><a href="#">Audi</a></li> <li><a href="#">BMW</a></li> <li><a href="#">Cadillac</a></li> <li><a href="#">Ferrari</a></li> </ul>
data-role
属性告诉jQuery Mobile把这个列表变成一个移动友好的用户界面组件, data-inset
和data-filter
属性设置属性 – 无需编写一行JavaScript代码。 另一方面,jQueryUI组件通常是通过编写几行JavaScript来实例化DOM中的组件来创build的。
jQuery手机是什么
JQM(jQuery手机)是一个基于jQuery的手机用户界面系统。 JQM是必需的。 与其他类似的手机框架不同,JQM的目标是支持所有主要的手机,平板电脑,电子阅读器和桌面平台,而不仅仅是移动webkit浏览器。 该框架最显着的特点之一是使用animation页面转换(非常酷)的Ajax导航系统。
对你来说可能是新的东西
有一件关于JQM向新用户抛出一个曲线球的东西是ajax导航。 来自jQuery的你可能习惯于包括你的JavaScript在每一个页面,然后使用DOM准备( $(function(){ ... }
或$(document).ready(function(){ .... }
)但是因为JQM使用ajax导航,所以系统会把其他页面拉到与第一页相同的dom中,而不会载入包含在<head>
中的脚本,当下一页通过ajax载入时,注意你的$(function(){ ...}
里面的东西在第二个页面上不起作用,解决方法是绑定到pageinit事件,下面的例子将帮助你在旅程的开始阶段:
$(document).on('pageinit', function(){ // this fires for each new page });
为了定位某个页面,您需要添加页面的ID:
$(document).on('pageinit','#page2', function(){ // this fires for #page2 only });
了解新的页面事件将有助于您从JQM开始。 http://jquerymobile.com/demos/1.1.0/docs/api/events.html祝你好运!;
jQuery是一个DOM操作/遍历和AJAX JavaScript框架。 它自动抽象出不同浏览器之间的很多复杂性。 有无数的jQuery插件可以简化许多任务。
jQuery Mobile是一个面向基于jQuery的移动应用程序的UI框架。 它具有主题和UI组件。
总之,他们是免费的。 您不必使用jQuery Mobile来使用jQuery。 但是要使用jQuery Mobile,你必须使用jQuery。
没有足够的观点来评论,所以join线程来回答Andy的依赖关系的第二个问题。
我相信你在找什么在这里: jQuery Mobile Demo
<!DOCTYPE html> <html> <head> <title>Page Title</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://code.jquery.com/mobile/[version]/jquery.mobile- [version].min.css" /> <script src="http://code.jquery.com/jquery-[version].min.js"></script> <script src="http://code.jquery.com/mobile/[version]/jquery.mobile-[version].min.js"></script> </head> <body> ...content goes here... </body> </html>