高级事件的运用

1.事件绑定
---IE独有下的绑定事件
attachEvent(事件名,函数)--反向执行,且一个按钮可执行多个事件的功能。
detachEvent()--解除绑定
---FF/chorme下的绑定事件
addEventListener
removeEventListener--解除绑定
2.捕获事件
对象.addEvent Listener(事件名,函数,是否捕获)--不带on,一般最后一个参数都是false
可用if(对象.attachEvent)来进行兼容的情况FF和IE
磁性吸附--实际是改变其距离
对象.setCapture()--事件捕获,把整个操作系统里WINDOWS,所有事件都扔到button里进行-IE独有
releaseCapture--释放捕获
IE,chrome---onmousewheel 存在滚轮事件,FF下不存在

3.普通事件--onclick,onousedown等等
DOM事件-DOMMouseScroll--只能通过addEventListener,DOM事件只能通过绑定来参加

绑定事件 浏览器允许执行的事件
IE attachEvent mousewheel
FF addEventListener DOMMouseScroll
Chrome attachEvent mousewheel

属性--判断向下滚与向上滚的正负
IE独有:
wheelDelta-- 向下滚 负
向上滚 正
FF下用法
detail 向下滚 正
向上滚 负
document.ontextmenu=function(){}---右键菜单,组织点击右键,出现菜单的情况,直接用return false
4.阻止默认行为
FF下:
document.addEvenListener('事件',function(ev){
return false;--这种用法失效,但在IE和chrome没问题
var oEvent=ev||event;
oEvent.preventDefault()---这种方法组织默认行为,当事件是绑定的时候,火狐下必须用这种,IE直接用retrun false

},false)

 

5.Function和function的区别

function tDefine(s) {
var result;
var f = new Function("factory", s); //或者写成new Function("factory",s)(function(val){result=val};)
var factory = function(val) {
result = val;
};
f(factory);
return result;
}
var s = 'factory({id:1234})';
var v = tDefine(s);
console.log(v);
new Function 的基本用法 :
创建一个函数对象的语法是var myFunction = new Function(arg1,…,agrN, body);
最后一个参数是函数的 body(函数体),类型为 string;
前面的参数都是 索要构造的函数的参数(名字)
var myFunction = new Function('users', 'salary', 'return users * salary');
mouseover ,mouseout ,mouseenter,mouseleave的区别有哪些?

mouseover与mouseenter

不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。

只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。

mouseout与mouseleave

不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。

只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。

posted @ 2016-05-08 13:17  待繁华落尽  阅读(282)  评论(0编辑  收藏  举报