• 高级事件的运用


    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 事件。

  • 相关阅读:
    剑指offer-面试题23.从上往下打印二叉树
    C++静态成员函数不能调用非静态成员变量
    程序的堆区和栈区
    C++空类的大小
    struct内存对齐
    LeeCode(Database)-Customers Who Never Order
    LeeCode(Database)-Duplicate Emails
    LeeCode(Database)-Employees Earning More Than Their Managers
    LeeCode(Database)-Combine Two Tables
    剑指offer-面试题22.栈的压入,弹出序列
  • 原文地址:https://www.cnblogs.com/jiechen/p/5470430.html
Copyright © 2020-2023  润新知