jquery实现app开发闹钟功能_jQuery Mobile 实现苹果滑动删除闹钟功能的几点总结
1.jquery給動(dòng)態(tài)添加的元素添加事件
在jquery推出新版本,使用.on()以前,我們會(huì)用.live()來(lái)為動(dòng)態(tài)添加的代碼綁定事件,但是現(xiàn)在jQuery用.on()替代了.live()
先看個(gè).live()實(shí)例
$("a").live("click", function() {
$("#111").append("ok");
});
再看一個(gè).on()的實(shí)例
$("body").on("click","a", function() {
$("#111").append("ok");
});
其中,.live()的用法跟1.7之前的.on()類(lèi)似,而1.9的.on()方法是on(events,[selector],[data],fn) ,可以指定綁定在哪個(gè)父節(jié)點(diǎn)上,在后面的選擇器內(nèi)寫(xiě)上要出發(fā)的元素選擇器
live原理:
.live()則是通過(guò)事件委托的方式來(lái)綁定到元素上的。更適合列表類(lèi)型的,綁定到document DOM節(jié)點(diǎn)上。和.bind()的優(yōu)勢(shì)是支持動(dòng)態(tài)數(shù)據(jù)。
2.event.originalEvent JQuery
今天在使用jquery的e.pageX時(shí),發(fā)現(xiàn)其獲得的值一直是undefined,百度了一下,換成了e.originalEvent.pageX就好了,問(wèn)題是解決了,但是不知道原因,于是在Stack Overflow上搜了一下,在這里給大家翻譯一下。
event.originalEvent是原生的js event,如果瀏覽器是兼容或者是在可觸的設(shè)備上使用,API通常是暴漏給event.originalEvent。簡(jiǎn)單來(lái)說(shuō),event.originalEvent會(huì)根據(jù)觸發(fā)時(shí)間類(lèi)型和瀏覽器運(yùn)行環(huán)境表現(xiàn)不一。
舉個(gè)例子:
var files = event.dataTransfer.files; //Gives error: trying to get property of undefined
var files = event.originalEvent.dataTransfer.files; //Works fine
jquery沒(méi)有封裝原生event對(duì)象的一些API,就行例子中的files。所以在這種時(shí)候我們需要使用event.originalEvent。
3.觸摸事件
三種在規(guī)范中列出并獲得跨移動(dòng)設(shè)備廣泛實(shí)現(xiàn)的基本觸摸事件:
1.?touchstart?:手指放在一個(gè)DOM元素上。
2.?touchmove?:手指拖曳一個(gè)DOM元素。
3.?touchend?:手指從一個(gè)DOM元素上移開(kāi)。
每個(gè)觸摸事件都包括了三個(gè)觸摸列表:
1.?touches?:當(dāng)前位于屏幕上的所有手指的一個(gè)列表。
2.?targetTouches?:位于當(dāng)前DOM元素上的手指的一個(gè)列表。
3.?changedTouches?:涉及當(dāng)前事件的手指的一個(gè)列表。
例如,在一個(gè)touchend事件中,這就會(huì)是移開(kāi)的手指。
這些列表由包含了觸摸信息的對(duì)象組成:
1.?identifier?:一個(gè)數(shù)值,唯一標(biāo)識(shí)觸摸會(huì)話(touch session)中的當(dāng)前手指。
2.?target?:DOM元素,是動(dòng)作所針對(duì)的目標(biāo)。
3.?客戶/頁(yè)面/屏幕坐標(biāo)?:動(dòng)作在屏幕上發(fā)生的位置。
4.?半徑坐標(biāo)和 rotationAngle?:畫(huà)出大約相當(dāng)于手指形狀的橢圓形。
總結(jié)
以上是生活随笔為你收集整理的jquery实现app开发闹钟功能_jQuery Mobile 实现苹果滑动删除闹钟功能的几点总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SOFAServerless 体系助力业
- 下一篇: css动画效果制作正方体旋转相册