前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTML事件属性--DOM

HTML事件属性--DOM

作者头像
子舒
发布2022-06-09 13:48:54
3.8K0
发布2022-06-09 13:48:54
举报
文章被收录于专栏:子舒的个人博客

研究html的对象,事件和方法,从js的角度来思考,这个标签的属性是通过什么方法,触发什么事件来实现的

  1. 键盘鼠标事件
  1. 页面窗口事件
  1. 表单事件

一、window事件属性

针对window对象触发的事件,在<body>中执行

1.onbeforeprint/onafterprint

在浏览器打印之间/后触发

代码语言:javascript
复制
<body onbeforeprint = print()>
<script>
    function print() {
        alert("打印之间!")
    }
</script>

打印前和打印后的事件方法类似,一个是在打印前触发事件,一个是在打印这个事件结束之后触发onafterprint这个事件

demo查看

2.onbeforeunload/unload

离开页面之间触发的事件/之后触发的事件

打开f12,然后刷新,或者关闭浏览器,可以在浏览器触发事件

代码语言:javascript
复制
<script>
    window.onbeforeunload = function(){
        return "提示"
        //返回的内容不会显示,
        //在刷新的时候触发,或者关闭浏览器,浏览会直接提示是否重新加载,不能直接返回return
    }
</script>

demo查看

3.onerror

当图片出错是可以触发该事件,支持该事件的标签只有 <img>,<object>,<style>

代码语言:javascript
复制
<img src="1.gif" onerror = "myfun()">

<script>
    function myfun() {
        alert("图片出错")
    }
</script>

1.gif不存在,因此触发了一个myfun()事件,弹出窗口

demo查看

4.onhashchange

当文档改变时发生的脚本 ???

5.onload

页面加载完成之后触发

demo查看

6.onmessage

在消息被触发时运行 ???

7.onoffline

当浏览器离线时触发

代码语言:javascript
复制
<body onoffline="myfun()">

8.ononline

当浏览器在线工作时触发

代码语言:javascript
复制
<body ononline="myfun()">

ononlineonoffline在网络断线或者连线时触发,可以控制电脑网络查看效果

9.onpagehide

当用户从网页离开时触发,也可以理解成当窗口隐藏时运行的脚本

刷新页面可以触发事件

demo查看

10.onpageshow

打开一个新页面或者刷新的时候触发

demo查看

相当于onload,加载页面时触发,但是在不同浏览器触发的有所不同

第一次加载页面时,onpageshowie浏览器中不触发,其他情况都触发

11.onresize

当浏览器窗口被改变大小时触发事件

代码语言:javascript
复制
<body onresize="myfun()">
    <script>
        function myfun() {
            alert('浏览器窗口改变了')
        }
    </script>
</body>

demo查看

12.onunload

页面被下载时触发,就是刷新或者关闭页面时触发

代码语言:javascript
复制
window.onunload = function() {
    return '确定关闭吗?'
}

13.onpopstate

当浏览器窗口记录改变时运行的脚本,

14.onredo

当文档执行撤销时触发的事件

二、form事件属性

由html表单内触发的事件,通常使用在form元素中

1.onblur

失去焦点时运行的脚本

代码语言:javascript
复制
<input name="int" id="int" onblur="myfun()">
<script>
    function myfun() {
        var int = document.getElementById('int').value;
        document.getElementById('int').value = int.toUpperCase();
    }
</script>

给input绑定一个onblur=myfun()的事件,当input失去焦点的时候产生什么样的效果

demo查看

2.onfocus

元素获得焦点时触发事件,和onblur相反

demo查看

3.onchange

当元素值被改变的时候触发事件

代码语言:javascript
复制
<input type="text" id="int" name="int" onchange="myfun()">
<script>
    function myfun() {
        alert('我的元素被改变啦!')
    }
</script>

这个事件的意思就是,当我对input内容进行操作改变后,浏览器会弹出一个alert

demo查看

4.oncontextmenu

当用户右键操作时触发该事件

可以绑定在任意元素中触发,可以一直触发,不用刷新

代码语言:javascript
复制
<div oncontextmenu="myfun()">这是一个文本框!</div>
<script>
    function myfun() {
        alert('oncontentmenu事件触发')
    }
</script>

demo查看

5.onformchange

当表单获得输入时可以触发事件

触发发不了脚本

6.onforminput

当表单获得用户输入时触发的事件,无法触发

浏览器不支持

6.oninput

当元素获得用户输入时触发的事件 当输入框输入或者删除时都会触发oninput

代码语言:javascript
复制
<input type="text" oninput="myfun()">
<script>
    function myfun() {
        alert('oninput触发了')
    }
</script>

onchangeoninput有相似的地方,都是改变文本内容时触发事件 但是onchange是在input失去焦点时才触发,oninput是立刻触发

demo查看

7.oninvalid

oninvalid事件要搭配required属性来使用

required如果使用该属性,代表必填字段,oninvalid是当元素无效时触发的事件

代码语言:javascript
复制
<form>
    <input type="text" oninvalid="myfun()" required>
    <input type="submit">
</form>
    <script>
        function myfun() {
            alert('填写为空')
    }
</script>

demo查看

8.onreset

表单中重置按钮被点击时触发

代码语言:javascript
复制
<form onreset="myfun()">
    <input type="text">
    <input type="reset" value="reset">
</form>
<script>
    function myfun(){
        alert('重置成功')
    }
</script>

demo查看

9.onselect

文本被选中时触发

代码语言:javascript
复制
<input onselect="myfun()" value="选中我">
<script>
    function myfun() {
        alert('onselect被触发 ')
    }
</script>

demo查看

10.onsubmit

当表单被提交时触发

要把事件绑定到form标签里面

代码语言:javascript
复制
<form onsubmit="myfun()">
    <!-- 注意:事件要绑定到form标签上面 -->
    <input type="text" name="name">
    <input type="submit" value="submit">
</form>
<script>
    function myfun() {
        alert('提交了')
    }
</script>

demo查看

注意:提交了之后会自动刷新页面,document和console的触发内容会立刻刷新,一闪而过,只有alert能停留在页面上,等待点击确定

三、key键盘事件

1.onkeydown

按下任意键时触发,包括系统按钮,箭头和功能键

demo查看

2.onkeypress

按下任意字母数字键时触发,但系统按钮,箭头和功能无法识别

3.onkeyup

松开任何之前按下的键盘时触发

demo查看

四、mouse鼠标事件

利用鼠标触发的事件

1.onclick

鼠标点击元素触发的事件

代码语言:javascript
复制
<p onclick="myfun()">点击我</p>
<script>
    function myfun() {
        alert('点击成功')
    }
</script>

demo查看

2.ondblclick

鼠标双击时触发的事件

代码语言:javascript
复制
<div ondblclick="myfun()">测试文本!</div>
<script>
    function myfun() {
        alert('双击测试成功!')
    }
</script>

demo查看

3.拖动事件

ondrag/ 元素被拖动时触发的事件

ondragstart/在拖动操作开端运行的脚本

ondrop/ 当元素正在被拖动时触发的事件

ondragend/在拖动操作末端运行的脚本

ondragenter/当元素元素已被拖动到有效拖放区域时运行的脚本

ondragleave/当元素离开有效拖放目标时运行的脚本

ondragover/当元素在有效拖放目标上正在被拖动时运行的脚本

4.onmousedown/onmouseup

当元素按下鼠标时触发的事件/鼠标释放时触发的事件

  1. 一个是按下去的瞬间就触发
  2. 一个是当鼠标被松开的时候触发

onmouseup效果和onclick一样,因为click也是点击过后触发

这两个事件加起来相当于一个click事件,但是并不能用这两个事件来做点击事件的效果

demo查看

5.onmousemove

当鼠标移动到元素上时触发

相当于css里面的 :hover,但是作为事件拥有更灵活多变的用法

demo查看

6.onmouseout

当鼠标离开元素时触发

demo查看

7.onmouseover

当鼠标进入元素时触发

onmouseoveronmousemove都是鼠标进入元素触发 区别: 1. over在进入元素时触发,但在元素内部移动时不触发 move是进入元素时和在元素里面移动时都触发 2. over优先触发,然后才触发move

8.onmousewheel

当鼠标滚动被滚动时触发的事件

代码语言:javascript
复制
<style>
    div {
        height: 1000px;
    }
</style>

<body>
    <div onmousewheel="myfun()">测试</div>
    <script>
        function myfun() {
            alert('onmousewheel')
        }
    </script>
</body>

每次滚动时都可以触发,可以绑定到body上

demo查看

9.onscroll

当元素滚动条被滚动时触发的事件

代码语言:javascript
复制
<div onscroll="myfun()">In my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since.</div>
<p>滑动了<span id="ci"></span>次</p>
<script>
    x = 0
    function myfun() {
        document.getElementById('ci').innerHTML = x += 1
    }
</script>

这个案例---滑动滚动计数

demo查看

区别: 1.wheel在滚轮滑动的时候有效,鼠标拖拽的时候无效 2.onscroll不管在滑动还是拖动的时候,均生效

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020 年 10 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、window事件属性
    • 1.onbeforeprint/onafterprint
      • 2.onbeforeunload/unload
        • 3.onerror
          • 4.onhashchange
            • 5.onload
              • 6.onmessage
                • 7.onoffline
                  • 8.ononline
                    • 9.onpagehide
                      • 10.onpageshow
                        • 11.onresize
                          • 13.onpopstate
                            • 14.onredo
                            • 二、form事件属性
                              • 1.onblur
                                • 2.onfocus
                                  • 3.onchange
                                    • 4.oncontextmenu
                                      • 5.onformchange
                                        • 6.onforminput
                                          • 6.oninput
                                            • 7.oninvalid
                                              • 8.onreset
                                                • 9.onselect
                                                  • 10.onsubmit
                                                    • 三、key键盘事件
                                                      • 1.onkeydown
                                                        • 2.onkeypress
                                                          • 3.onkeyup
                                                          • 四、mouse鼠标事件
                                                            • 1.onclick
                                                              • 2.ondblclick
                                                                • 3.拖动事件
                                                                  • 4.onmousedown/onmouseup
                                                                    • 5.onmousemove
                                                                      • 6.onmouseout
                                                                        • 7.onmouseover
                                                                          • 8.onmousewheel
                                                                            • 9.onscroll
                                                                            领券
                                                                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档