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 相关文章推荐
地址栏上的一段语句,改变页面的风格。(教程)
Apr 02 Javascript
读jQuery之十 事件模块概述
Jun 27 Javascript
JS实现局部选择打印和局部不选择打印
Apr 03 Javascript
js实现图片漂浮效果的方法
Mar 02 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
Jun 21 Javascript
AngularJS 模型详细介绍及实例代码
Jul 27 Javascript
AngularJS实现按钮提示与点击变色效果
Sep 07 Javascript
uploader秒传图片到服务器完整代码
Apr 22 Javascript
js获取元素的偏移量offset简单方法(必看)
Jul 05 Javascript
详解关于react-redux中的connect用法介绍及原理解析
Sep 11 Javascript
Vue Echarts实现可视化世界地图代码实例
May 07 Javascript
微信小程序实现定位及到指定位置导航的示例代码
Aug 20 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
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
javascript下function声明一些小结
2007/12/28 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
2015/02/11 Javascript
JS模式之简单的订阅者和发布者模式完整实例
2015/06/30 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
JS基础随笔(菜鸟必看篇)
2016/07/13 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
video.js使用改变ui过程
2017/03/05 Javascript
js脚本编写简单刷票投票系统
2017/06/27 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
vuejs点击class变化的实例
2018/09/05 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
详解Python字典小结
2018/10/20 Python
django 取消csrf限制的实例
2020/03/13 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
全球性的奢侈品梦工厂:Forzieri(福喜利)
2019/02/20 全球购物
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
EJB与JAVA BEAN的区别
2016/08/29 面试题
主管职责范文
2013/11/09 职场文书
法定代表人身份证明书
2014/09/10 职场文书
迎国庆演讲稿
2014/09/15 职场文书
JavaScript的function函数详细介绍
2021/11/20 Javascript
Python借助with语句实现代码段只执行有限次
2022/03/23 Python