关于高级事件的使用

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'); 
 
6.fibjs  node.js要看研究

你可能感兴趣的:(关于高级事件的使用)