国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

深入理解jQuery 事件處理

2019-11-20 09:42:14
字體:
供稿:網(wǎng)友

瀏覽器的事件模型

DOM第0級事件模型

1.Event實例

他的屬性提供了關(guān)于當前正被處理的已觸發(fā)事件的大量信息。這包括一些細節(jié),比如在哪個元素上觸發(fā)的事件、鼠標事件的坐標以及鍵盤事件中單擊了哪個鍵。

2.事件冒泡

當觸發(fā) dom 樹中一個元素上的事件時,事件模型會檢查這個元素是否已經(jīng)創(chuàng)建了特定的事件處理器。如果是,就會調(diào)用已創(chuàng)建的事件處理器。然后,事件模型會檢查目標元素的父元素,看其是否已經(jīng)為此事件類型創(chuàng)建了處理器。如果是,就調(diào)用已創(chuàng)建的處理器,之后檢查它的父元素,以及父元素的父元素,以此類推,直到 dom 樹的頂部。

DOM第2級事件模型

IE事件模型

jQuery事件模型

使用jQuery綁定事件處理器

<html> <head>   <title>jQuery Events Example</title>   <script type="text/javascript" src="../scripts/jquery-1.7.1.js"></script>   <script type="text/javascript">     $(function () {       $('#example')        .bind('click', function (event) {          alert('BOOM once!');        })        .bind('click', function (event) {          alert('BOOM twice!');        })        .bind('click', function (event) {          alert('BOOM three times!');        });     });   </script> </head>  <body>   <img id="example" src="example.jpg" /> </body> </html>

bind(eventType, data, handler); bind(eventMap)

可以為事件名稱添加以圓點分隔的后綴來指定命名空間,以批量操作事件處理器。

可以通過單個bind()方法來為一個元素綁定多個事件。

$('.whatever').bind({  click:function(event){/* handle */},  mouseenter: function (event) {/* handle */ },  mouseleave: function (event) {/* handle */ }})

特定的事件綁定:

blur change click dblclick error focus focusin focusout keydown keypress keyup load mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup ready resize scroll select submit unload

當使用這些便捷方法時,event.data值是只讀的。他們有一個參數(shù) listener 函數(shù),表示事件處理器。

focusin focusout

one(eventType, data, listener)

刪除事件處理器

unbind(eventType, listener); unbind(event)

刪除特定的事件處理器

刪除命名空間中的所有事件處理器

$('*').unbind('.fred')Event實例

獨立于瀏覽器的jQuery.Event屬性和方法

名稱 描述
altKey
ctrlKey
currentTarget
data
metaKey
pageX
pageY
relatedTarget
screenX
screenY
shiftKey
result
target
timestamp
type
which
preventDefault()
stopPropagation()
stopImmediatePropagation()
isPropagationStopped()
isImmediatePropagationStopped()

觸發(fā)事件處理器

trigger(eventType, data)

triggerHandler(eventType, data)

觸發(fā)的便捷方法

blur() change() click() dblclick() error() focus() focusin() focusout() keydown() keypress() keyup() load() mousedown() mouseenter() mouseleave() mousemove() mouseout() mouseover() mouseup() resize() scroll() select() submit() unload()

其他事件相關(guān)的方法

1.起切換作用的監(jiān)聽器

toggle(listener1, listener2, ...)

2.在元素上懸停鼠標

hover(enterHandler, leaveHandler); hover(handler)

充分利用(更多的)事件

過濾大的數(shù)據(jù)集合

通過模板復(fù)制創(chuàng)建元素

建立主體標記

添加新的過濾器

添加限定控件

刪除不需要的過濾器和其他任務(wù)

以上這篇深入理解jQuery 事件處理就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 景泰县| 扎兰屯市| 安塞县| 前郭尔| 高邑县| 平定县| 蒲江县| 彭山县| 堆龙德庆县| 三穗县| 蒙山县| 黑河市| 边坝县| 昌乐县| 新疆| 阜城县| 宁陕县| 苏尼特右旗| 健康| 高密市| 灵宝市| 博爱县| 大化| 于田县| 合肥市| 汨罗市| 安丘市| 芮城县| 花莲县| 神池县| 盐边县| 苗栗县| 绵阳市| 广平县| 太康县| 尼玛县| 英山县| 阳谷县| 永春县| 枣阳市| 万载县|