zoukankan      html  css  js  c++  java
  • 事件对象——event

    一、介绍

    把一个click时间log出来是这样的:

    {
        altKey:false,
        bubbles:true,
        button:0,
        buttons:0,
        cancelBubble:false,
        cancelable:true,
        clientX:1,
        clientY:3,
        composed:true,
        ctrlKey:false,
        currentTarget:null,
        defaultPrevented:false,
        detail:1,
        eventPhase:0,
        fromElement:null,
        isTrusted:true,
        layerX:1,
        layerY:147,
        metaKey:false,
        movementX:0,
        movementY:0,
        offsetX:1,
        offsetY:0,
        pageX:1,
        pageY:147,
        path:(5) [div, body, html, document, Window],
        relatedTarget:null,
        returnValue:true,
        screenX:1,
        screenY:94,
        shiftKey:false,
        sourceCapabilities:InputDeviceCapabilities,
        srcElement:div,
        target:div,
        timeStamp:12270.44,
        toElement:div,
        type:"click",
        view:Window ,
        which:1,
        x:1,
        y:3
    }

    二、详细的一些注意点

    在IE8,事件触发有一个对象叫做event,event里面装着各种事件的相关属性值

    但是Firefox不支持event,直到现在最新版本都不支持,chrome和IE9支持ev和event

      chrome IE9+ FF IE8-
    ev  
    event  

     

    document.onkeydown=function (ev)
    {
        var oEvent=ev||event;
        
        alert(oEvent.keyCode);
    };

    1.兼容事件对象  var oEvent=ev||event;

    2.阻止事件冒泡  oEvent.cancelBubble = true;

    document.onclick=function (ev)
    {
        var oEvent=ev||event;
        
        oEvent.cancelBubble = true;
    };

    3.默认行为

    禁止默认事件,return false可以去除浏览器自带行为。

    4.ctrl+回车

    onkeydown事件会多出keyCode属性

    var oTxt1=document.getElementById('txt1');
        
    oTxt1.onkeydown=function (ev)
    {
        var oEvent=ev||event;
        if(oEvent.keyCode==13 && oEvent.ctrlKey)
        {
            oTxt2.value+=oTxt1.value+'
    ';
            oTxt1.value='';
        }
    };

    除了ctrlKey外,还有shiftKey和altKey

  • 相关阅读:
    Mybatis插入数据时 返回主键
    React 子组件state内数组修改页面不刷新问题
    React 配合echarts使用问题记录
    vue 项目启动报错
    React Ant design table表单与pagination分页配置
    React Cascader组件实现地址选择
    os常用指令
    React 页面间传参
    React Router配置
    react项目 npm run eject报错
  • 原文地址:https://www.cnblogs.com/amiezhang/p/7761386.html
Copyright © 2011-2022 走看看