js 事件小结
1,事件对象
e || window.event //ie
2, 取鼠标点击坐标 带有滚动条的
var top = document.documentElement.scrollTop || document.body.scrollTop;//chorme
var x = top + e.clientX; //可视区坐标
3, 获取屏幕坐标
e.screenX e.screenY
4, shiftKey altKey ctrlkey
5,onkeydown/onkeyup keyCode 返回的是ASCII码 不区分大小写
6,onkeypress
ff 返回keycode 所有的字符都返回0
chorom/ie 返回keycode 支持大小写
charCode 返回字符编码
7, 获取事件源
target = e.target || e.srcElement
target.tagName
e.type
8, 事件流
ff 先捕获然后再冒泡
ie 冒泡
9, 取消冒泡
e.stopPropagation() || e.cancelBubble = true;
10, addEventListener
1,解决调用两次,不会被覆盖 (ie倒着弹出)
window.addEventListener('load',function(){
alert('lv');
},false);
window.addEventListener('load',function(){
alert('Miss.lv');
},false);
ff lv Miss.lv
ie Miss.lv lv
2,解决传递两个相同的函数,只执行一次(ie没有解决,传递相同的两个函数)
window.addEventListener('load',init,false);
window.addEventListener('load',init,false);
3,this指向 (ie this 指向window)
window.attachEvent('load',function(){
var box = document.getElementById('box');
box.attachEvent('onclick',function(){
alert(this===window); //true
})
})
function addEvent(obj,type, fn){
obj.attachEvent('on'+type, function(){
fn.call(obj,arguments);
})
}
addEvent(window,'load',function(){
var box = document.getElementById('box');
addEvent(box,'click',function(){
alert(this === box);
})
})
4,添加一个额外的方法,不会不覆盖
11, 移入 e.ralatedTarget e.fromElement mouseover
移出 e.ralatedTarget e.toElement mouseout
12, 阻止默认行为
e.preventDefault();
e.returnValue = false;
不能直接用return false;因为return false只能放到前面,后面的就不能执行了
13, 滚轮事件
非 ff mousewheel
ff DOMMouseScroll
wD : function(e){
var e = this.getEvent(e);
if(e.wheelDelta){
return e.wheelDelta;
}else{
return -e.detail*40;
}
}
js 事件小结的更多相关文章
- js事件小结
首先事件绑定分为2种方法 一种为"DOM0级"方法,这里我理解为事件指定 var oDiv = document.getElementById("div1"); ...
- 深入浅出js事件
深入浅出js事件 一.事件流 事件冒泡和事件捕获分别由微软和网景公司提出,这两个概念是为了解决页面中事件流(事件发生顺序)的问题. <div id="outer"> & ...
- 一文梳理JS事件
JavaScript与HTML的交互是通过事件进行的.事件,就是文档或浏览器窗口发生的一些特定的交互瞬间. 事件流 事件捕获 事件冒泡 事件处理程序 事件委托 1. 事件流 如果单机页面上的某个按钮, ...
- dynamic-css 动态 CSS 库,使得你可以借助 MVVM 模式动态生成和更新 css,从 js 事件和 css 选择器的苦海中脱离出来
dynamic-css 使得你可以借助 MVVM 模式动态生成和更新 css,从而将本插件到来之前,打散.嵌套在 js 中的修改样式的代码剥离出来.比如你要做元素跟随鼠标移动,或者根据滚动条位置的变化 ...
- 什么是JS事件冒泡?
什么是JS事件冒泡?: 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理 程序或者事件返回true,那么 ...
- js事件技巧方法整合
window.resizeTo(800,600); //js设置浏览器窗口尺寸 window.open (function(){ resizeTo(640,480);//设置浏览器窗口尺寸 moveT ...
- js事件浅析
js中关于DOM的操作很多,因此js事件机制也就尤为重要. 事件绑定形式: 一. 内联形式 耦合度高,不利于维护 <button onclick="alert('你点击了这个按钮'); ...
- js 事件大全
Js事件大全一般事件 事件 浏览器支持 描述onClick IE3|N2|O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击onDblClick IE4|N4|O 鼠标双击事件onMouseDo ...
- 原生JS事件绑定方法以及jQuery绑定事件方法bind、live、on、delegate的区别
一.原生JS事件绑定方法: 1.通过HTML属性进行事件处理函数的绑定如: <a href="#" onclick="f()"> 2.通过JavaS ...
随机推荐
- HTML5简介、视频
HTML5 建立的一些规则: 新特性应该基于 HTML.CSS.DOM 以及 JavaScript. 减少对外部插件的需求(比如 Flash) 更优秀的错误处理 更多取代脚本的标记 HTML5 应该独 ...
- phpwind 去除init.phpwind.net统计功能
修改的文件如下:global.phplib/staticpage.class.phprequire/template.phpsimple/index.php
- ListView中RadioButton实现单项选择
1:FragmentHack5.java public class FragmentHack5 extends Fragment { View view; ListView lvCountries; ...
- LeetCode_Convert Sorted Array to Binary Search Tree
Given an array where elements are sorted in ascending order, convert it to a height balanced BST. /* ...
- Qemu对x86静态内存布局的模拟
快乐虾 http://blog.csdn.net/lights_joy/ lights@hb165.com 本文适用于 QEMU-0.10.5 VS2008 欢迎转载,但请保留作者信息 在PC机中,由 ...
- [置顶] 【cocos2d-x入门实战】微信飞机大战之六:子弹层的处理
这一篇将会处理完子弹层的其他要点. 1.子弹的初始位置 子弹的初始位置在飞机的机头位置,因为飞机在游戏的过程中会随着玩家的触摸而改变其位置,所以,子弹的初始位置只能以当前飞机位置为基准进行添加. CC ...
- Word Break II 解答
Question Given a string s and a dictionary of words dict, add spaces in s to construct a sentence wh ...
- operator模块
# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #========== ...
- 面向切面编程(AOP)的理解
在传统的编写业务逻辑处理代码时,我们通常会习惯性地做几件事情:日志记录.事务控制及权限控制等,然后才是编写核心的业务逻辑处理代码.当代码编写完成回头再看时,不禁发现,扬扬洒洒上百行代码中,真正用于核心 ...
- xcode 执行时模拟器不可选的问题
好久没写博客了,上一次是什么时候都想不起来了. 之前总认为脑袋记住了,用过了就能够了,干嘛要写博客,简直浪费时间.事实上没事写写博客优点还是挺多的.这样既能够对自己用过的和学到的东西做一个总结,也能提 ...