关于高级事件的使用
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的区别
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);
前面的参数都是 索要构造的函数的参数(名字)
var myFunction = new Function('users', 'salary', 'return users * salary');