zoukankan      html  css  js  c++  java
  • index()、e.target.value、on()与快捷处理的区别、

     1 <!DOCTYPE html>
     2 <html>
     3 
     4     <head>
     5         <meta charset="UTF-8">
     6         <title></title>
     7         <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
     8     </head>
     9 
    10     <body>
    11         <div id="n1">
    12             <div id="n2">
    13                 <span id="n3"></span>
    14                 <ul id="n4">
    15                     <p></p><p>p</p>
    16                     <li id="n5">item1</li>
    17                     <li id="n6">item2</li>
    18                     <li id="n7">item3</li>
    19                 </ul>
    20                 <span id="n8"></span>
    21             </div>
    22         </div>
    23         <script>
    24             // index() 中如果无参数,则返回li在同辈参数中索引位置
    25             console.log($("li").index())   //2因为前面有两个p,index值从0开始计算
    26             // 如果前后都传入jquery对象作为参数,那么就代表是返回
    27             // 第二个参数依据第一个参数的索引位置,且第二个属于第一个,否则返回-1,例如此时在ul以依据查找#n5索引位置
    28             console.log($("li").index($("#n7")))  //2
    29             console.log($("ul").index($("#n5")))  //-1
    30             
    31             console.log($("span").index($("#n8"))) //1
    32             // 返回结果值同上面,
    33             //   此用法和上不同之处在于:被查找元素传入jquery对象,为依据的元素传入DOM对象,此句翻译为
    34             //   第一个参数依据第二个DOM的索引位置,且第一个属于第二个
    35             console.log($("#n8").index("span"))
    36         </script>
    37     </body>
    38 
    39 </html>

     e.target.value


    target定义:

        target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。

    语法:

        event.target

        event.target.nodeName    //获取事件触发元素标签name(li,p...)

        event.target.id       //获取事件触发元素id

        event.target.className  //获取事件触发元素classname

        event.target.innerHTML  //获取事件触发元素的内容(li)

        等。。。

    this 与 e.target区别:

    简单来说,this会冒泡。e.target不冒泡就是指向事件触发的dom。

    this就是指向当前事件所绑定的元素,

    e.target指向事件执行时鼠标所点击区域的那个元素。

    容易搞不懂的地方是,初学者会认为当前事件所绑定的元素不就是鼠标所点击的那个元素嘛,这时候就要看看事件绑定的元素内部有没有子元素了,如果有子元素的话e.target指向这个子元素,如果没有,e.target和this都指向事件所绑定的元素。

    事件委托:原生js

        事件委托就是事件目标自身不处理事件,而是把处理任务委托给其父元素或者祖先元素,甚至根元素(document)。

        使用事件委托时,如果目标元素上的其他事件处理程序使用.stopPropagation()阻止了事件传播,那么事件委托就会失效。

    on


    多个事件绑定同一个函数

     $("#elem").on("mouseover mouseout",function(){ });

    通过空格分离,传递不同的事件名,可以同时绑定多个事件

    多个事件绑定不同函数

    $("#elem").on({
        mouseover:function(){},  
        mouseout:function(){},
    });

    通过空格分离,传递不同的事件名,可以同时绑定多个事件,每一个事件执行自己的回调方法

    将数据传递到处理程序

    function greet( event ) {
      alert( "Hello " + event.data.name ); //Hello 慕课网
    }
    $( "button" ).on( "click", {
      name: "慕课网"
    }, greet );

    可以通过第二参数(对象),当一个事件被触发时,要传递给事件处理函数的

  • 相关阅读:
    hmac模块和hashlib模块
    logging模块
    sys模块
    datetime模块
    time模块
    例题:100节楼梯,0-49节,分数等于节数。50节(包括50节)以后每节10分。输入节数,得出分数。这个题如果按照讲页来做是错误的,所以再写一遍,请大家指导
    C# .ToString() 格式化
    例题:判断平年还是闰年。理解使用异常语句try catch finally 和datetime 时间类
    SQL Server第一堂课:创建数据库,创建表,以及表中最基本的增,删,改
    例题:输入学生的各项资料,然后根据学生的分数,重新排序。重新复习结构体,集合,数组,for循环,冒泡排序,水平符的使用。
  • 原文地址:https://www.cnblogs.com/fighxp/p/6043251.html
Copyright © 2011-2022 走看看