首页 > 编程语言 >JavaScript事件

JavaScript事件

时间:2024-03-01 09:24:08浏览次数:32  
标签:触发 元素 dom JavaScript 事件 document event

键盘事件:keypress键盘事件,keyup抬起,keydown按下

文档:load加载

表单:focus获得焦点,blur失去焦点,submit提交事件,change改变事件

其他:scroll滚动事件,select start选择事件

1. event事件对象常见的属性和方法

e.target 返回触发事件的对象 标准
e.srcElement 返回触发事件的对象 非标准ie6-8使用
e.type 返回事件的类型,比如:click,mouseover 不带on
e.returnValue 该属性阻止默认事件(默认行为) ie6-8,比如不让链接跳转
e.preventDefault() 该属性阻止默认事件(默认行为)标准,比如不让链接跳转
e.stopPropagation() 阻止冒泡 【标准】
e.cancelBubble 阻止冒泡【ie】

2.鼠标事件 (只适用于PC端)

最重要: onclick onm ouseenter onm ouseleave

次重要: onm ousedown onm ouseup onm ousemove

复制代码
dom.onclick 单击事件
dom.ondblclick 双击事件
dom.onmouseover 当鼠标悬停时(会冒泡)
dom.onmouseout 当鼠标悬停后离开时  (会冒泡)
dom.onmouseenter  当鼠标进入时 (不会冒泡)
dom.onmouseleave 当鼠标离开时 (不会冒泡)
dom.onmousedown 鼠标按下的时候触发的事件
dom.onmouseup 鼠标弹起触发的事件
dom.onmousemove 鼠标移动
dom.onwheel 鼠标滚轮滚动时
复制代码

3. 键盘事件

复制代码
onkeydown 键盘按键被按下发生的事件
​
onkeyup 键盘按键被松开发生的事件
​
onkeypress 键盘按键按下并松开发生的事件 (主键区)
​
oninput 事件在用户输入时触发
复制代码

4. 与光标的事件

onfocus : 主要应用于文本框, 当获取输入焦点时
onblur: 主要应用于文本框,当失去输入焦点时
onchange: 失去输入焦点时,如果和上一次的值比较有改变就会触发 

5.表单事件

onsubmit提交按钮被点击
onreset重置按钮被点击
onselect文本内容被选定
onchange用户改变表单元素的内容
oninput在用户输入时触发

 

6. 移动端事件 (只适用于移动端)

复制代码
touchsatrt:当手指触摸屏幕时触发,不管当前有多少只手指

touchmove:当手指在屏幕上滑动时连续触发,通常我们再滑屏页面,会调用event.preventDefault()

touchend:当手指离开屏幕时触发

touchcancel:系统通知跟踪触摸时候会触发。
复制代码

7.单选框和复选框被选中

复选框是否被选中需要判断复选框中的checked的值 true:选中 false:没选中

复制代码
all.onclick = function (){
        for(var n=0; n<sel.length; n++){
            console.log(all.checked);
            sel[n].checked = all.checked
        }
        total()
    }
复制代码

 

阻止默认事件的发生

  1. 1 如果是使用 on+事件名 或者  attachEvent() 添加的事件 使用 return false;
复制代码
<a href="http://www.baidu.com" class="box1">百度</a>

<script>
 var box1 = document.querySelector('.box1')
        box1.onclick = function (event){
            var e = event || window.event
            
            // 跳转京东
            window.location =  "http://www.jd.com"
           return false
        }
</script>
复制代码

 

  1. 2 如果是使用 addEventListener 添加的事件 使用 event.preventDefault();
复制代码
<a href="http://www.baidu.com" class="box1">百度</a>

<script>
 var box1 = document.querySelector('.box1')
       box1.addEventLister('click',function(event){var e = event || window.event
            
            // 跳转京东
            window.location =  "http://www.jd.com"
           return false
        })
</script>
复制代码

加载事件

onload               页面或图像加载完成
onbeforeunload       页面卸载前执行

滚动事件

onscroll    窗口发生滚动
scrollTo    滚动到指定位置【增加】

1. clientWidth / clientHeight (只读)

元素padding + width / padding + height

2. offsetWidth / offsetHeight (只读)

获取元素的border + padding + width / border + padding + height

3. offsetLeft / offsetTop(只读)

4. offsetParent (只读)

绝对定位元素的祖先元素中,最近哪个元素有定位属性,这个元素就是它的offsetParent

 

  1. 文档可视区域高度(屏幕的高度) document.documentElement.clientHeight

  2. 文档高度(整个html页面的高度) document.documentElement.scrollHeight

  3. 文档滚动高度(标准浏览器生效) document.documentElement.scrollTop

  4. 文档滚动高度(IE浏览器有效) document.body.scrollTop

  5. 获得当前坐标的X,Y坐标 x=event.clientX;   Y=event.clientY

  6. 获取当前元素的宽度和高度,定位的left和top/元素上面内容的高度       

    height=ele.offsetHeight; width=ele.offsetWidth 

 

    left = ele.offsetLeft top = ele.offsetTop

 

    常用的尺寸获取方式:

  获取页面滚动上去的高度:document.documentElement.scrollTop/document.body.scrollTop

  获取当前元素的宽度和高度:ele.offsetHeight/ele.offsetWidth

  获取窗口的宽度和高度:window.innerHeight

  获取文档的宽度和高度:document.documentElement.scrollHeight

e.target和this的区别

区别: e.target返回的是触发事件的对象(元素)

this 返回的是绑定事件的对象(元素)

e.currentTarget 当前绑定事件的元素

标签:触发,元素,dom,JavaScript,事件,document,event
From: https://www.cnblogs.com/wangtiantian/p/18046129

相关文章

  • JavaScript基础
    引入方式JavaScript程序不能独立运行,它需要被嵌入HTML中,然后浏览器才能执行JavaScript代码。内部引入写在body结束标签的上方。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content=&......
  • Vue CLI 系列之(十二)全局事件总线
    全局事件总线【GlobalEventBus】......
  • Vue CLI 系列之(十一)组件自定义事件
    组件自定义事件区别于js内置事件,内置事件是给html元素用的,而自定义事件是给组件用的1.给组件实例对象绑定自定义事件给组件绑定自定义事件v-on:自定义事件名="回调函数"比如:<Studentv-on:atguigu="demo"/>上面代码的含义为:由于v-on是在Student这个组件标签上,所以是给stu......
  • javascript中的var,let,const区别
    const:这个最简单,只需记住是声明的常量,定义的时候必须声明const的具体值,且之后不允许改变const的值 var和let区别1、由于js引擎存在预解析,会把var变量名进行提升对于var来说是这样执行的varm;console.log(m);m=10;let不存在变量提升,会直接报错   2、var是全局......
  • 前端学习-vue学习003-事件监听
    教程链接使用v-on指令监听DOM事件<buttonv-on:click="increment">{{count}}</button>简写语法<button@click="increment">{{count}}</button><scriptsetup>import{ref}from'vue'constcount=ref(0)......
  • 假期vue学习笔记07 todo事件的本地存储
     用本地存储改写前面的todo案例 <template>    <li>      <label>        <inputtype="checkbox":checked="todo.done"@change="handleCheck(todo.id)"/>        <spanv-show="!tod......
  • 假期vue学习笔记09 全局事件总栈
     <template>  <div class="school">    <h2>学校名称:{{name}}</h2>     <h2>学校地址:{{address}}</h2>  </div></template><script>  exportdefault{    name:'School'......
  • javaweb02-JavaScript&vue
    JavaScript控制网页行为js引入方式内部脚本:script标签外部脚本:js文件js基础语法书写语法区分大小写每行结尾分号可有可无,建议写上输出语句警告框window.alerthtml输出document.write浏览器控制台console.log变量用var关键字声明变量JavaScript是一......
  • Vue 2x 系列之(七)事件处理
    事件处理1.事件的基本使用模板只能用到对应Vue实例中的数据和方法,像这里的showInfo,模板中是调不到的所有被Vue管理的函数【methods对象中的函数】不能写成箭头函数,只能写成普通函数,否则,函数中的this就不再是Vue实例,而是Window对象只有配置在data中的内容才会做数据代理和数......
  • 前端面试题(四)—— 事件委托(Event Delegation)
    一、什么是事件委托事件委托(EventDelegation)是一种常用的技术。它利用事件冒泡的特性,在父元素上监听事件,而不是在子元素上直接添加事件监听器。通过在父元素上捕获事件,然后根据事件的目标(target)来执行相应的操作,从而实现对子元素的事件处理。二、实现方式通过给父元素添加事......