JS 事件机制完整示例分析


Posted in Javascript onJanuary 15, 2020

本文实例讲述了JS 事件机制。分享给大家供大家参考,具体如下:

<html>
    <head>
        <title>js事件机制</title>
        <meta charset="UTF-8"/>
        <script type="text/javascript">
            function testOnclick(){
                alert("我是单击事件");
            }
            function testdblOnclick(){
                alert("我是双击事件");
            }
            function testOnmouseover(){
                alert("我是鼠标悬停事件");
            }
            function tsetOnmousemove(){
                alert("我进行了移动");
            }
            function testOnmouseout(){
                alert("我被移出了");
            }
            function testOnkeydown(){
                alert("键盘按下事件");
            }
            function testOnkeyup(){
                alert("键盘抬起事件");
            }
            function testOnkeypress(){
                alert("键盘按压事件触发")
            }
            function testOnfouse(){
                alert("焦点确认定位");
            }
            function testOnblur(){
                alert("我失去了焦点");
            }
            function tsetOnload(){
                alert("页面进行了重新加载");
            }
//            tsetOnload();
            function testOnchange(){
                alert("发生了改变");
            }
            function testbreak(){
                alert("阻断事件触发");
            }
            function testbreaktrue(){
                alert("阻断,我可不只是说说");
                return false;
            }
            function testHref(){
                alert("超链接提示");
            }
        </script>
        <style type="text/css">
            #showdiv{
                width: 100;
                height: 200;
                border: solid 1px;
            }
            input[type=text]{
                width: 300px;
                height: 20px;
                border: solid 2px aqua;
            }
            hr{
                height: 10px;
                background-color: bisque;
                border-radius: 10px;
            }
        </style>
    </head>
    <body onload="tsetOnload();">
        <h3>js事件机制</h3>
        <input type="button" id="" value="测试单击" onclick="testOnclick();"/>
        <input type="button" id="" value="测试双击" ondblclick="testdblOnclick();"/>
        <hr />
        <div id="showdiv" onmouseover="testOnmouseover();" onmousemove="tsetOnmousemove();" onmouseout="testOnmouseout();" >
        </div>
        <hr />
       <!--下面在文本框中添加的事件触发有事件的冲突,onkeydown和onkeypress会在按下一个按键的时候触发,但是由于触发了显示框事件导致按下按钮后一直出现,而使onkeyup无法触发-->
        <input type="text" id="" value="" onkeydown="testOnkeydown()" onkeyup="testOnkeyup();" onkeypress="testOnkeypress();"/>
        <hr />
                <!--失去焦点的时候会一直显示,因为在失去焦点操作中使显示框显示,其本来就是一个失去焦点的操作-->
        <input type="text" name="" id="" value="" onfocus="testOnfouse()" onblur="testOnblur()"/>
        <br />
        <input type="text" name="" id="" value="" onchange="testOnchange();"/>
        <br />
        比较喜欢的动漫角色:<br />
        <select name="" id="" onchange="testOnchange();">
            <option value="">古河渚</option>
            <option value="">藤和艾利欧</option>
            <option value="">佐仓千代</option>
            <option value="">筒隐月子</option>
        </select>
        <hr />
        <!--<a href="http://wwww.baidu.com" rel="external nofollow" rel="external nofollow" target="_blank" onclick="testbreak();">百度一下</a>-->
        <hr />
        <a href="http://wwww.baidu.com" rel="external nofollow" rel="external nofollow" target="_blank" onclick="return testbreaktrue();">百度一下</a> <!-- 必须函数和调用都含有return才能进行有效的阻断-->
        <hr />
        <a href="javascript:testHref()" rel="external nofollow" >超链接点击</a>
    </body>
</html>

事件触发机制使为了更好的实现网页与用户的交互,如果仅仅只在js代码域中定义函数,那么我们仅仅只能在代码中自己调用,用户无法触发函数,所以我们利用函数对一系列操作进行封装,在body中调用事件触发机制进行调用,这样当用户触发某个事件的时候就会触发一系列的操作。

注:在一系列的事件触发机制中,我们可以在一个标签中添加多个事件触发机制,但是我们必须在适当的地方设置,而且,对于多个事件机制其也会产生冲突,一个方面可能是因为触发机制的冲突(比如单双击)另一方面可能因为调用的函数引起的(比如焦点失去和显示框显示)

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript之ESC(第二类混淆)
May 06 Javascript
点击显示指定元素隐藏其他同辈元素的方法
Feb 19 Javascript
checkbox选中与未选中判断示例
Aug 04 Javascript
Node.js入门教程:在windows和Linux上安装配置Node.js图文教程
Aug 14 Javascript
js实现使用鼠标拖拽切换图片的方法
May 04 Javascript
JS+DIV实现鼠标划过切换层效果的方法
May 25 Javascript
理解javascript函数式编程中的闭包(closure)
Mar 08 Javascript
JQuery Mobile实现导航栏和页脚
Mar 09 Javascript
node.js中EJS 模板快速入门教程
May 08 Javascript
JavaScript事件方法(实例讲解)
Jun 27 Javascript
Vue集成Iframe页面的方法示例
Dec 12 Javascript
了解Javascript中函数作为对象的魅力
Jun 19 Javascript
JS实现滑动插件
Jan 15 #Javascript
JS实现滑动导航效果
Jan 14 #Javascript
解决 window.onload 被覆盖的问题方法
Jan 14 #Javascript
vue quill editor 使用富文本添加上传音频功能
Jan 14 #Javascript
JavaScript事件冒泡机制原理实例解析
Jan 14 #Javascript
JS window对象简单操作完整示例
Jan 14 #Javascript
让mocha支持ES6模块的方法实现
Jan 14 #Javascript
You might like
德劲1104的电路分析与改良
2021/03/01 无线电
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
showModelessDialog()使用详解
2006/09/21 Javascript
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
javascript动态加载实现方法一
2012/08/22 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
jquery实现两边飘浮可关闭的对联广告
2015/11/27 Javascript
javascript实现2016新年版日历
2016/01/25 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
Javascript使用SWFUpload进行多文件上传
2016/11/16 Javascript
谈谈JS中的!!
2017/12/07 Javascript
javascript连接mysql与php通过odbc连接任意数据库的实例
2017/12/27 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
python3.3实现乘法表示例
2014/02/07 Python
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
Python3 max()函数基础用法
2019/02/19 Python
Python数据持久化存储实现方法分析
2019/12/21 Python
Python发送邮件封装实现过程详解
2020/05/09 Python
如何验证python安装成功
2020/07/06 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
Python学习之time模块的基本使用
2021/01/17 Python
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
最新销售员个人自荐信
2013/09/21 职场文书
临床医学专业个人的自我评价
2013/09/27 职场文书
最新的大学生找工作自我评价
2013/09/29 职场文书
五十岁生日宴会答谢词
2014/01/15 职场文书
父亲节活动策划方案
2014/08/24 职场文书
无犯罪记录证明
2014/09/19 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书