jQuery 事件机制

    1. 注册事件:
      1. on()
      2. bind()
      3. on()/bind()的区别
        • bind有三个参数,分别是event,data,function,也就是事件,额外要添加的数据,执行函数。
        • on有四个参数,分别是event,selector,data,function,分别是事件,选择器,额外添加的数据,执行函数。
        • on可以指定具体的子元素,而bind得给每个子元素都添加一个事件
        • on可以绑定没有页面渲染时不存在的dom,bind不可以即不能动态绑定事件
1 $("p").bind("click",function(){
2          alert("这个段落被点击了。");
3 }"dbClick",function(){
4          alert("这个段落被双击了。");
5 });
6  $("p").on("click",function(){ alert("段落被点击了。"); }); 

 

    1. 委托事件: 
      • delegate()  
      • 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
1 $("div").delegate("p","click",function(){
2     $("p").css("background-color","pink");
3 });
4  

 

       事件对象even(事件源)  even属性如下

 

    • type:      事件类型,比如click。
    • which:      触发该事件的鼠标按钮或键盘的键。
    • target:  事件发生的初始对象(当前元素)。
    • data:     传入事件对象的数据。
    • pageX: 事件发生时,鼠标位置的水平坐标(相对于页面左上角)。
    • pageY:        事件发生时,鼠标位置的垂直坐标(相对于页面左上角)

 

       each()方法

 

    • each() 方法规定为每个匹配元素规定运行的函数,它可以用来遍历任何一个集合,不管是一个JavaScript对象或者是一个数组,或者是一个JSon对象。
    • $("li").each(function(){ 

      alert($(this).text()) 

      });  

 

      普通事件与绑定事件

 

    • 普通添加事件的方法不支持添加多个事件,最下面的事件会覆盖上面的,而事件绑定(addEventListener)方式添加事件可以添加多个且支持冒泡与事件的捕获。
posted @ 2020-08-16 19:51  帅气巴巴  阅读(171)  评论(0编辑  收藏  举报