当前位置: 首页 > news >正文

事件处理

事件处理

html事件处理程序

    <div>
        <button id="btn1" οnclick="demo()">按钮</button>
    </div>
    <script>
        function demo(){
            alert("html事件处理程序");
        }
    </script>

直接再html中书写 οnclick="函数";缺点:修改一处,需要改2处。

dom0级事件处理程序

    <div>
        <button id="btn1">按钮</button>
    </div>
    <script>
        var btn = document.getElementById("btn1")
        btn.onclick = function(){alert("html0级处理程序")};
    </script>

js中先获取元素,再直接写 obj.onclick = "函数"; 清除方式:  btn.onclick = "null"; 缺点:后面的事件绑定会覆盖之前的绑定。

dom2级事件处理程序

.addEventListener ( "事件名不带on",  “事件处理函数”,  “布尔值” )

ture:事件捕获

fales:事件冒泡 默认

"事件名"没有on

 <script>
        var btn = document.getElementById("btn1")
        btn.addEventListener( click , demo1 );
        btn.addEventListener( click , demo2 );
    </script>    

可以绑定多个事件,  清除:.removeEventListener()    

IE8以下事件处理程序

.attachEvent( "事件名带on" , "事件处理函数" )

.detachEvent() 

兼容写法

    <div>
        <button id="btn1">按钮</button>
    </div>
    <script>
        var btn1 = document.getElementById("btn1");
        if(btn1.addEventListener){
            btn1.addEventListener("click",demo);
        }else if (btn1.attachEvent){
            btn1.attachEvent("onclick",demo);
        }else{
            btn1.onclick = demo();

        }
        function demo(){
            alert("事件兼容代码");
        }
    </script>

 

posted on 2016-04-29 11:27 我是青木木 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/heqinglin/p/5445686.html

相关文章:

  • 实测可用的宽度优先爬虫的实现
  • c语言描述简单的线性表,获取元素,删除元素,
  • 用两个栈实现一个队列
  • 将C#文档注释生成.chm帮助文档
  • 【VS开发】CListCtrl控件使用方法总结
  • python之路之正则表达式
  • 水平方向瀑布流
  • log4j配置概要
  • [Assignment] C++1
  • linux之GDB常用命令汇总
  • uva1368DNA consensus string统计
  • static关键字的使用总结
  • 设计模式学习-原型模式
  • Centos 基础开发环境搭建之Maven私服nexus
  • HDU 2098 分拆素数和
  • ES6指北【2】—— 箭头函数
  • python3.6+scrapy+mysql 爬虫实战
  • 2017前端实习生面试总结
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • classpath对获取配置文件的影响
  • KMP算法及优化
  • mysql外键的使用
  • pdf文件如何在线转换为jpg图片
  • Protobuf3语言指南
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 分享一份非常强势的Android面试题
  • 记一次用 NodeJs 实现模拟登录的思路
  • 软件开发学习的5大技巧,你知道吗?
  • 网页视频流m3u8/ts视频下载
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • scrapy中间件源码分析及常用中间件大全
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #每天一道面试题# 什么是MySQL的回表查询
  • $.proxy和$.extend
  • (4)事件处理——(7)简单事件(Simple events)
  • (a /b)*c的值
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (附源码)计算机毕业设计大学生兼职系统
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (一一四)第九章编程练习
  • (转)大型网站的系统架构
  • (转)树状数组
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .NET Core中的去虚
  • .NET成年了,然后呢?
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .Net语言中的StringBuilder:入门到精通
  • .NET中的Exception处理(C#)
  • /usr/bin/env: node: No such file or directory
  • @RequestParam详解
  • [<事务专题>]
  • [AIGC] Spring Interceptor 拦截器详解