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>

 

 

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值