jQuery慢慢啃之事件对象(十一)

1.event.currentTarget//在事件冒泡阶段中的当前DOM元素

$("p").click(function(event) {
    alert( event.currentTarget === this ); // true
});  

2.event.data//当前执行的处理器被绑定的时候,包含可选的数据传递给jQuery.fn.bind。

$("a").each(function(i) {
    $(this).bind(‘click‘, {index:i}, function(e){
       alert(‘my index is ‘ + e.data.index);
    });
  }); 

3.event.delegateTarget//当currently-called的jQuery事件处理程序附加元素。

$(".box").on("click", "button", function(event) {  $(event.delegateTarget).css("background-color", "red");}); 
// 为id为element的元素中的所有span元素绑定click事件$("#element").on( "click", "span", function(event){    // event.delegateTarget 就是id为element的DOM元素    // this 就是当前触发事件的span元素    alert( event.delegateTarget === this); // false } );

// 为id为element的元素中的所有span元素绑定click事件$("#element span").bind( "click", function(event){    // event.delegateTarget 就是当前触发事件的span元素    // this 就是当前触发事件的span元素    alert( event.delegateTarget === this ); // true} );

4.event.isDefaultPrevented()//根据事件对象中是否调用过 event.preventDefault() 方法来返回一个布尔值

$("a").click(function(event){
    alert( event.isDefaultPrevented() ); // false
    event.preventDefault();
    alert( event.isDefaultPrevented() ); // true
  });  

5.event.isImmediatePropagationStopped()//根据事件对象中是否调用过 event.stopImmediatePropagation() 方法来返回一个布尔值。

   function immediatePropStopped(e) {
    var msg = "";
    if ( e.isImmediatePropagationStopped() ) {
      msg =  "called";
    } else {
      msg = "not called";
    }
    $("#stop-log").append( "<div>" + msg + "</div>" );
   }
    $("button").click(function(event) {
    immediatePropStopped(event);
    event.stopImmediatePropagation();
    immediatePropStopped(event);
  });

6.event.isPropagationStopped()//根据事件对象中是否调用过 event.stopPropagation() 方法来返回一个布尔值。

    function propStopped(e) {
    var msg = "";
    if ( e.isPropagationStopped() ) {
      msg =  "called";
    } else {
      msg = "not called";
    }
    $("#stop-log").append( "<div>" + msg + "</div>" );
  }
    $("button").click(function(event) {
    propStopped(event);
    event.stopPropagation();
    propStopped(event);
  });

7.event.namespace//当事件被触发时此属性包含指定的命名空间。

  $("p").bind("test.something", function(event) {
    alert( event.namespace );  });
  $("button").click(function(event) {
    $("p").trigger("test.something");
  });

8.event.pageX//鼠标相对于文档的左边缘的位置。

event.pageX//鼠标相对于文档的左边缘的位置。

   $(document).bind(‘mousemove‘,function(e){
       $("#log").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY);
   });

9.event.preventDefault()//阻止默认事件行为的触发。

            $("a").click(function(event) {
               event.preventDefault();
               $(‘<div/>‘).append(‘default ‘ + event.type + ‘ prevented‘).appendTo(‘#log‘);
             });

10.event.relatedTarget//在事件中涉及的其它任何DOM元素

对于 mouseout 事件,它指向被进入的元素;对于 mousein 事件,它指向被离开的元素。

$("a").mouseout(function(event) {
    alert(event.relatedTarget.nodeName); // "DIV"
  }); 

11.event.result//这个属性包含了当前事件事件最后触发的那个处理函数的返回值,除非值是 undefined 。

      $("button").click(function(event) {    return "hey";  });
       $("button").click(function(event) {
           $("p").html( event.result );
       });

12.event.stopImmediatePropagation()//阻止剩余的事件处理函数执行并且防止事件冒泡到DOM树上。

  $("p").click(function(event){
    event.stopImmediatePropagation();
  });  $("p").click(function(event){
    // This function won‘t be executed
    $(this).css("background-color", "#f00");  });
    $("div").click(function(event) {
    // This function will be executed
      $(this).css("background-color", "#f00");
  });

13.event.stopPropagation()//防止事件冒泡到DOM树上,也就是不触发的任何前辈元素上的事件处理函数。

$("p").click(function(event){
    event.stopPropagation();    // do something
  });  

14.event.target//最初触发事件的DOM元素。

function handler(event) {
    var $target = $(event.target);
    if( $target.is("li") ) {
      $target.children().toggle();
    }
  }
  $("ul").click(handler).find("ul").hide();

15.event.timeStamp//这个属性返回事件触发时距离1970年1月1日的毫秒数。

 var last, diff;  $(‘div‘).click(function(event) {
    if ( last ) {
      diff = event.timeStamp - last;
      $(‘div‘).append(‘time since last event: ‘ + diff + ‘<br/>‘);
    } else {
      $(‘div‘).append(‘Click again.<br/>‘);
    }
    last = event.timeStamp;
  });

16.event.type//事件类型

$("a").click(function(event) {
    alert(event.type); // "click"
  }); 

17.event.which//针对键盘和鼠标事件,这个属性能确定你到底按的是哪个键或按钮。

      <script>
        $(‘#whichkey‘).bind(‘keydown‘,function(e){
        $(‘#log‘).html(e.type + ‘: ‘ +  e.which );  });
      </script>
时间: 2024-10-13 21:01:50

jQuery慢慢啃之事件对象(十一)的相关文章

jQuery慢慢啃之CSS(七)

1.ready(fn)//当DOM载入就绪可以查询及操纵时绑定一个要执行的函数. $(document).ready(function(){ // 在这里写你的代码...}); 使用 $(document).ready() 的简写,同时内部的 jQuery 代码依然使用 $ 作为别名,而不管全局的 $ 为何. $(function($) { // 你可以在这里继续使用$作为别名... }); 2.on(events,[selector],[data],fn)//在选择元素上绑定一个或多个事件的事

jQuery慢慢啃之ajax(九)

1.jQuery.ajax(url,[settings])//通过 HTTP 请求加载远程数据 如果要处理$.ajax()得到的数据,则需要使用回调函数.beforeSend.error.dataFilter.success.complete. beforeSend 在发送请求之前调用,并且传入一个XMLHttpRequest作为参数. error 在请求出错时调用.传入XMLHttpRequest对象,描述错误类型的字符串以及一个异常对象(如果有的话) dataFilter 在请求成功之后调用

jQuery慢慢啃(四)

1.eq(index|-index) 获取第N个元素 其中负数:一个整数,指示元素的位置,从集合中的最后一个元素开始倒数.(1算起) $("p").eq(1)//获取匹配的第二个元素 $("p").eq(-2)//获取倒数匹配的第二个元素 2.$('li').first()//获取第一个元素 $('li').last()//获取最后个元素 $(this).hasClass("protected")和 $(this).is(".prote

jQuery慢慢啃之文档处理(五)

1.append(content|fn)//向每个匹配的元素内部追加内容. $("p").append("<b>Hello</b>"); 2.appendTo(content)//把所有匹配的元素追加到另一个指定的元素元素集合中. $("p").appendTo("div"); appendTo, prependTo, insertBefore, insertAfter, 和 replaceAll这个几

jQuery慢慢啃之工具(十)

1.jQuery.support//一组用于展示不同浏览器各自特性和bug的属性集合 2.jQuery.browser//浏览器内核标识.依据 navigator.userAgent 判断. 可用值: safari opera  msie mozilla 3.jQuery.browser.version//浏览器渲染引擎版本号 4.jQuery.boxModel//浏览器是否使用标准盒模型渲染页面. 建议使用 jQuery.support.boxModel 代替.W3C CSS 盒模型. 5.j

jQuery慢慢啃之CSS(五)

1.css(name|pro|[,val|fn])//访问匹配元素的样式属性 $("p").css("color");//获取 $("p").css({ "color": "#ff0011", "background": "blue" });//属性组设置 $("p").css("color","red");

jQuery慢慢啃之特效(八)

1.show([speed,[easing],[fn]])\\显示隐藏的匹配元素 //speed:三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000) //easing:(Optional) 用来指定切换效果,默认是"swing",可用参数"linear" $("p").show() $("p").s

jQuery慢慢啃(三)

1.attr(name|properties|key,value|fn)设置或返回被选元素的属性值. $("img").attr("src");//获取属性 $("img").attr({ src: "test.jpg", alt: "Test Image" });//设置多个属性 $("img").attr("src","test.jpg");/

从零开始学习jQuery (五) 事件与事件对象

原文:从零开始学习jQuery (五) 事件与事件对象 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零开始学习jQuer