工作日常--javascript事件

我也不知道这个博客能坚持多久,,复习事件处理 觉得觉得知识有点偏老,但是还是的有所了解为好

事件处理程序
  • IE事件处理程序attachEventIE8及更早版本 (兼容性较差,我本地调试并未成功。本地chrome为最新版本报错,IE11也报错。。戏剧的专门兼容IE的事件处理程序却自家不认识。)
    解释,接受两个参数下面是例子
var btn = document.getElementById("myBtn");
btn.attachEvent("onclick",function(){
     alert("clicked");
})
  • DOM2级事件处理程序
var btn = document.getElementById("myBtn");
btn.addListener("click",function(){
     alert("clicked");
},false);
  • DOM0级事件处理程序
var btn = document.getElementById("myBtn");
btn.onclick = function(){
  alert("clicked");
}

自我认知:我个人在chrome浏览器运行过了DOM2级和DOM0级可以运行成功.但是运行attachEvent是报错。也不知道为什么。解决方法是使用dome2事件处理。

当让为了解决基本全平台浏览器兼容,可以尝试使用如下的代码

// 兼容性写法
    var EventUtil = {
        addHandler: function(element, type, handler) {
            if (element.addEventListener) {
                element.addEventListener(element, type, handler, false);
            } else if (element.attachEvent) {
                element.attachEvent('on' + type, handler);
            } else {
                element['on' + type] = null;
            }
        },
        removeHandler: function(element, type, handler) {
            if (element.removeHandler) {
                element.removeHandler(element, type, handler, false);
            } else if (element.detachEvent) {
                element.attachEvent("on" + type, handler)
            } else {
                element['on' + type] = null;
            }
        }
    }

不管是DOM2还是DOM0还是使用attachEvent,移除事件处理的时候。都不能使用匿名函数,移除函数需要使用引用函数或者直接定义函数名称。

事件对象Event

可以写一个点击事件,然后将该事件的event对象打印出来然后看得到相应的各项属性。如下代码在html中script标签中写。页面上要有一个可点击的ID为myBtn的元素哦。

var btn = document.getElementById("myBtn");
btn.addListener("click",function(event){
  console.log(event);
},false)

打印出来的结果是这样子。
这里写图片描述

明晚再写具体这些参数的意思。一点一刻了,明天还要上班。准备洗完脚睡觉去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值