zoukankan      html  css  js  c++  java
  • js进阶 12-7 如何知道你是从哪个元素移动到当前元素与事件调用时如何添加额外数据

    js进阶 12-7 如何知道你是从哪个元素移动到当前元素与事件调用时如何添加额外数据

    一、总结

    一句话总结:event的relatedTarget属性和data属性。

    1、如何知道你是从哪个元素移动到当前元素?

    event.relatedTarget
    29         //event.relatedTarget 获取移入移出目标点离开或进入的那个 DOM 元素
    30         $('div').mouseover(function(e){
    31             alert(e.relatedTarget)
    32         })
    33         $('div').mouseout(function(e){
    34             alert(e.relatedTarget)
    35         })

    2、事件调用时如何添加额外数据?

    event的data属性

    37         //额外数据
    38         $('#btn1').click(2016,function(e){
    39             alert(e.data)
    40         })
    41         $('#btn1').click('ABC',function(e){
    42             alert(e.data)
    43         })
    44         $('#btn1').click({name:'zhangsan'},function(e){
    45             alert(e.data.name)
    46         })
    47         var arr=[{name:'zhangsan'},'ABC',[100,200,300]]
    48         $('#btn1').click(arr,function(e){
    49             alert(e.data[2][0])
    50         })

    3、事件调用时添加的额外数据放在哪?

    放在匿名函数前面

    4、事件最重要的是什么?

    事件监听的对象是谁,就是这里选择器里面的内容

    二、如何知道你是从哪个元素移动到当前元素与事件调用时如何添加额外数据

    1、相关知识

    1. event.relatedTarget 返回当鼠标移动时进入或退出的那个元素
    2. event.data 事件调用时的额外数据

    2、代码

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <style>
     4 </style>
     5 <head>
     6     <meta charset="UTF-8">
     7     <title>演示文档</title>
     8     <script type="text/javascript" src="jquery-3.1.1.min.js"></script>
     9     <style type="text/css">
    10         input{width: 100px;height: 30px;}
    11         div{width: 100px;height: 100px;border:1px solid green;}
    12         #xy{width: 300px;position: fixed;}
    13       </style>
    14 </style>
    15 </head>
    16 <body>
    17 <h3>jQuery事件对象</h3>
    18 <div id="div1"><p id="pid"></p></div>
    19 <input id="btn1" type="button" value="事件对象">
    20 <input id="xy" type="text">
    21 <ol>
    22     <li></li>
    23     <li></li>
    24     <li></li>
    25     <li></li>
    26 </ol>
    27 <script type="text/javascript">
    28     $(function(){
    29         //event.relatedTarget 获取移入移出目标点离开或进入的那个 DOM 元素
    30         $('div').mouseover(function(e){
    31             alert(e.relatedTarget)
    32         })
    33         $('div').mouseout(function(e){
    34             alert(e.relatedTarget)
    35         })
    36 
    37         //额外数据
    38         $('#btn1').click(2016,function(e){
    39             alert(e.data)
    40         })
    41         $('#btn1').click('ABC',function(e){
    42             alert(e.data)
    43         })
    44         $('#btn1').click({name:'zhangsan'},function(e){
    45             alert(e.data.name)
    46         })
    47         var arr=[{name:'zhangsan'},'ABC',[100,200,300]]
    48         $('#btn1').click(arr,function(e){
    49             alert(e.data[2][0])
    50         })
    51     })
    52 </script>
    53 </body>
    54 </html>
     
  • 相关阅读:
    3.4函数重载和默认参数
    命名空间
    Pandas中DataFrame数据合并、连接(concat、merge、join)之concat
    使用python脚本进行数据清洗(1)
    python操作hive 安装和测试
    Microsoft Visual C++ 14.0 is required.
    hive传递参数与调用
    log1p和expm1
    github高速下载的方法
    group_concat()
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9273456.html
Copyright © 2011-2022 走看看