DOM事件绑定方式
普通事件可以直接绑定
比如document.onmouseover=fn;
或者document.addEventListener("mouseover",fn,flase);
attachEvent("onmouseover",fn);
但是DOM事件只能用addEventListener 来绑定
document.addEventListener("DOMMouseScroll",fn,flase);
这样绑定事件的时候阻止默认行为
return false;
attachEvent 绑定方式也可以
addEventListener 在FF下需要用到event. preventDefault();
其他的时候用return flase;
所以兼容一下就好了
if(event.preventDefault){
event.preventDefault();
}
return false;
IE attachEvent mousewheel
FF addEventListener DOMMouseScroll
Chrome addEventListener mousewheel

所以封装一个函数来添加最好
function myAddEvent(obj,oEvent,fn){
if(obj.attachEvent){
obj.attachEvent("on"+oEvent,fn);
}
else if(obj.addEventListener){
obj.addEventListener(oEvent,fn.false);
}
}
function fn(event){
//IE Chrome下获取滚动的信息
var scrollMessage=event.wheelDelta; //向下滚<0
// 在FF下获取滚动信息
event.detail; //向下滚>0
}
DOM事件绑定方式的更多相关文章
- jquery事件绑定方式总结(补充)
总结 : 1.简单事件绑定方式:事件名() 如:click() 2.高级事件绑定方式:bind(事件名,数据参数,function) 3.动态生成元素事件绑定方式:live(事件名,数据参数, ...
- DOM常用事件绑定方式与实例
一.常用的事件 onclick 点击事件 模态框实例 <input type="button" id="b1" style="width:50p ...
- javaScript事件机制深入学习(事件冒泡,事件捕获,事件绑定方式,移除事件方式,阻止浏览器默认行为,事件委托,模拟浏览器事件,自定义事件)
前言 JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间.可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码.这种在传统软 ...
- jQuery三种事件绑定方式.bind(),.live(),.delegate()
.bind(), .live(), 和 .delegate()之间的区别并不明显.但是理解它们的不同之处有助于写出更简洁的代码,并防止我们的交互程序中出现没有预料到的bug. 基础 DOM树 首先,图 ...
- 移动端和pc端事件绑定方式以及取消浏览器默认样式和取消冒泡
### 两种绑定方式 (DOM0)1.obj.onclick = fn; (DOM2)2. ie:obj.attachEvent(事件名称,事件函数); 1.没有捕获(非标准的ie 标准的ie底下有 ...
- js、jq事件绑定方式总结——以click事件为例
一.JavaScript点击事件绑定方法 1.1 HTML onclick事件属性 <button onclick="clickMe(this)">click me&l ...
- jquery中的DOM事件绑定与解绑
在jquery事件中有时候有的事件只需要在绑定后有效触发一次,当通过e.target判断触发条件有效触发后解除绑定事件,来避免多次无效触发和与未知情况造成冲突. 这时候就要用到了jquery中的事件绑 ...
- jQuery中是事件绑定方式--on、bind、live、delegate
概述:jQuery是我们最常用的js库,对于事件的绑定也是有很多种,on.one.live.bind.delegate等等,接下来我们逐一来进行讲解. 本片文章中事件所带的为版本号,例:v1.7+为1 ...
- jQuery事件绑定方式(转)
bind() 简要描述 bind()向匹配元素添加一个或多个事件处理器. 使用方式 $(selector).bind(event,data,function) event:必需项:添加到元素的一个或多 ...
随机推荐
- hibernate的枚举注解@Enumerated
@Enumerated(value=EnumType.ORDINAL)采用枚举类型的序号值与数据库进行交互, 此时数据库的数据类型需要是数值类型,例如在实际操作中 CatTest ct = new C ...
- [HBase]mem store flusher 流程
- No.1 selenium学习之路之浏览器操作
selenium基础,首先就是浏览器的相关操作 下面描述几种浏览器的常用操作 1.打开浏览器 webdriver后面添加想要打开的浏览器 Ie或者Chrome 2.打开指定页面(百度) 3.休眠时间 ...
- OSI & TCP/IP 参考模型
OSI参考模型的结构 OSI划分七层结构的基本原则 网中各结点都具有相同的层次: 不同结点的同等层具有相同的功能: 同一结点内相邻层之间通过接口通信: 每一层可以使用下层提供的服务,并向其上层提供服务 ...
- 20165333实验三 敏捷开发与XP实践
实验内容 一.参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECCODESTANDARD 安装alibaba 插件,解决代码中的规范问题. 在IDE ...
- Python的简单语法(一)
import sys a=3 b=4 c=5.66 d=8.0 e=complex(c,d) f=complex(float(a),float(b)) print("a is type:&q ...
- 树莓派GPIO控制RGB彩色LED灯
树莓派GPIO通过PWM来控制RGB彩色LED灯,可以显示任何我们想要的颜色. RGB模块简介 这个RGB彩色LED里其实有3个灯,分别是红灯.绿灯和蓝灯.控制这三个灯分别发出不同强度的光,混合起来就 ...
- 树莓派3B更换源为阿里源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #科大源 sudo nano /etc/apt/sources.list deb htt ...
- 一步一步学习IdentityServer3 (5)
这篇文章介绍下数据持久化问题,官方例子可能都是缓存数据 Client User Scope 下面介绍下怎么使用数据库持久化 这里需要导入nuget包 :IdentityServer3.EntityF ...
- Android发送短信界面
package com.example.wang.application1; import android.os.Bundle; import android.support.v7.app.AppCo ...