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 动态改变图片大小
Jun 11 Javascript
指定位置如果有图片显示图片,无图片显示广告的JS
Jun 05 Javascript
javascript获取选中的文本的方法代码
Oct 30 Javascript
关于Javascript作用域链的八点总结
Dec 06 Javascript
js获取客户端网卡的IP地址、MAC地址
Mar 26 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
Jun 08 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
Jan 21 Javascript
解析JavaScript模仿块级作用域
Dec 29 Javascript
Vue中如何实现轮播图的示例代码
Jul 27 Javascript
vue实现搜索过滤效果
May 28 Javascript
layui监听select变化,以及设置radio选中的方法
Sep 24 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
Nov 04 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
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
PHP中文分词 自动获取关键词介绍
2012/11/13 PHP
php使用文本统计访问量的方法
2016/05/12 PHP
让Firefox支持event对象实现代码
2009/11/07 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
Python解释执行原理分析
2014/08/22 Python
Python卸载模块的方法汇总
2016/06/07 Python
Python科学画图代码分享
2017/11/29 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
2019/03/22 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
python飞机大战游戏实例讲解
2020/12/04 Python
Bally美国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/18 全球购物
检察官就职演讲稿
2014/01/13 职场文书
大学生作弊检讨书
2014/09/11 职场文书
2015年父亲节寄语
2015/03/23 职场文书
军事博物馆观后感
2015/06/05 职场文书
请假条应该怎么写?
2019/06/24 职场文书
MySQL锁机制
2021/04/05 MySQL
python 如何获取页面所有a标签下href的值
2021/05/06 Python
php png失真的原因及解决办法
2021/11/17 PHP