事件模型会检查目标元素的父元素,事件模型会检查目标元素的父元素

使用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值是只读的。他们有一个参数 listener
函数,表示事件处理器。

focusin focusout

one(eventType, data, listener)

过滤大的数据集合

 

2.事件冒泡

深入理解jQuery 事件处理,深入理解jquery事件

浏览器的事件模型

DOM第0级事件模型

1.Event实例

他的属性提供了关于当前正被处理的已触发事件的大量信息。这包括一些细节,比如在哪个元素上触发的事件、鼠标事件的坐标以及键盘事件中单击了哪个键。

2.事件冒泡

当触发 dom
树中一个元素上的事件时,事件模型会检查这个元素是否已经创建了特定的事件处理器。如果是,就会调用已创建的事件处理器。然后,事件模型会检查目标元素的父元素,看其是否已经为此事件类型创建了处理器。如果是,就调用已创建的处理器,之后检查它的父元素,以及父元素的父元素,以此类推,直到
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值是只读的。他们有一个参数 listener
函数,表示事件处理器。

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()

触发事件处理器

trigger(eventType, data)

triggerHandler(eventType, data)

触发的便捷方法

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

其他事件相关的方法

1.起切换作用的监听器

toggle(listener1, listener2, …)

2.在元素上悬停鼠标

hover(enterHandler, leaveHandler); hover(handler)

充分利用(更多的)事件

过滤大的数据集合

通过模板复制创建元素

建立主体标记

添加新的过滤器

添加限定控件

删除不需要的过滤器和其他任务

以上这篇深入理解jQuery
事件处理就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持帮客之家。

事件处理,深入理解jquery事件
浏览器的事件模型 DOM第0级事件模型 1.Event实例
他的属性提供了关于当前正被处理的已触发事件…

添加限定控件

 

IE事件模型

他的属性提供了关于当前正被处理的已触发事件的大量信息。这包括一些细节,比如在哪个元素上触发的事件、鼠标事件的坐标以及键盘事件中单击了哪个键。

DOM第0级事件模型

当触发 dom
树中一个元素上的事件时,事件模型会检查这个元素是否已经创建了特定的事件处理器。如果是,就会调用已创建的事件处理器。然后,事件模型会检查目标元素的父元素,看其是否已经为此事件类型创建了处理器。如果是,就调用已创建的处理器,之后检查它的父元素,以及父元素的父元素,以此类推,直到
dom 树的顶部。

添加新的过滤器

 

<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>

预先管理事件处理器(deprecated)

充分利用(更多的)事件

删除事件处理器

删除不需要的过滤器和其他任务

 

DOM第2级事件模型

2.在元素上悬停鼠标

通过模板复制创建元素

 

使用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值是只读的。他们有一个参数 listener
函数,表示事件处理器。

focusin focusout

one(eventType, data, listener)

hover(enterHandler, leaveHandler); hover(handler)

jQuery事件模型

建立主体标记

 

建立主体标记

建立主体标记

 

DOM第0级事件模型

  1. Event实例

    他的属性提供了关于当前正被处理的已触发事件的大量信息。这包括一些细节,比如在哪个元素上触发的事件、鼠标事件的坐标以及键盘事件中单击了哪个键。

  2. 事件冒泡

当触发 dom
树中一个元素上的事件时,事件模型会检查这个元素是否已经创建了特定的事件处理器。如果是,就会调用已创建的事件处理器。然后,事件模型会检查目标元素的父元素,看其是否已经为此事件类型创建了处理器。如果是,就调用已创建的处理器,之后检查它的父元素,以及父元素的父元素,以此类推,直到
dom 树的顶部。

添加新的过滤器

总是有改进的余地

事件处理,jquery事件处理 浏览器的事件模型
DOM第0级事件模型 当触发 dom
树中一个元素上的事件时,事件模型会检查这个元素是否已经…

总是有改进的余地

one(eventType, data, listener)

过滤大的数据集合

 

Event实例

独立于浏览器的jQuery.Event属性和方法

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

unbind(eventType, listener); unbind(event)

其他事件相关的方法

添加限定控件

 

DOM第2级事件模型

添加新的过滤器

 

预先管理事件处理器(deprecated)

  1. 创建live事件处理

    live(eventType, data, listener)

  2. 删除live事件处理

    die(eventType, listener)

focusin focusout

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章