事件、鼠标事件的对象属性、键盘事件、事件流、组织事件冒泡、组织默认事件、阻止超链接;

本文介绍了JavaScript中事件对象的概念及其在实际应用中的例子,包括鼠标点击让图片移动和随鼠标移动的实现。同时,讲解了键盘事件如keyUp、keyDown和keyPress,以及如何通过keyCode识别特定按键。此外,还探讨了事件流的概念,如事件冒泡和事件捕获,以及如何阻止事件冒泡和浏览器默认行为。
摘要由CSDN通过智能技术生成

事件对象

事件:对某个事件的某种操作;
事件对象:当某个事件触发时产生的对象,就是事件对象。
event:使用前提必须有事件
事件对象的兼容:var e=evt||event;

eg:让图片跳一跳
<style>
div{backgroun:url(../img.01png)}
</style>

<div></div>
<script>
var div=document.querySelector("div");
document.onclick=function(evt){
e=evt||event;
div.style.top=div.offsetTOP-200+"px"
//设置图片的位置,每点击一次向上走200px
setTimeout(function(){
div.style.top=600+"px"},3000)
}
//设置一个定时器让没次点击三秒后,回到垂直方向600px

</script>

鼠标事件对象的属性

坐标属性:pageX/pageY:相对于整个文档的顶部和左侧的坐标
常用;
clientX/clientY相对于局部窗口的左侧和顶部的坐标;
offsetX/offsetY相对于内部元素的距离左侧和顶部的坐标
常用于拖拽;

eg:让图片随鼠标移动
<style>
div{backgroun:url(../img.png);position:absolute;
left:200px;top:500px}
</style>
<div></div>
<script>
document.onmousemove=function(evt){
e=evt||event;
var div =document.querySelector("div")
div.style.top=e.pageY-div.offsetHeight/2+"px";
div.style.left=e.pageX-divoffsetWidth/2+"px"}
//此处求的是鼠标放到图片中心的相对于页面的坐标
*注意写事件的时候最好带上事件的兼容性好让
我们写的代码兼容大部分浏览器


</script>

键盘事件

keyUp:键抬起时触发的事件;
keyDown:用户按下按键时发生;
keyPress:用户按下按键,并产生一个字符时(意思时说
按ctrl这样的按键是没效果的)
keyCode:获取键盘按键值  字母 ASCII值识别
A:65 a:97     回车:13


**********Keypress的ctrl+回车的返回值为10;
document.οnkeypress=function(evt){
var e=evt||event;
if(e.keyCode==13||e.keyCode==10  &&  e.ctrlKey) {
       alert("send");}}

事件流

当某个事件执行时,从子元素向父元素触发   或  从父元素向
子元素触发时 称为事件流

事件冒泡

事件流的两种模式:
事件冒泡:从子元素向父元素触发-->当某个事件触发时,同样的
事件会向父元素出发
但并不是所有事件都会产生冒泡问题,比如:
onblur onfocus onload不会产生冒泡问题

事件捕获

从父元素向子元素触发

阻止事件冒泡

e.stopPropagation();通过事件对象调用  阻止事件冒泡
e.stopPropagation?
e.stopPropagation?
e.stopPropagation():e.cancelBubble=ture;

阻止浏览器默认事件

e.preventDefault?e.preventDefault():e.returnValue=
false;
return false;
右键不显示菜单,显示div;
e.preventDefault?e.preventDefault():e.returnValue=false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值