zoukankan      html  css  js  c++  java
  • JS_事件分类

    ## 事件对象

        跟事件相关的一系列数据

        e:将来事件发生后,系统给我们传递的代表事件对象,在ie中window.event

        兼容写法:注意变量作用域问题

            var e = e || window.event

            或者:var e = e || event;

        ex: var x = x;会出现undefined,即使是在全局作用域存在!

        target:触发事件的对象;  //this:返回的是绑定事件的元素 == currentTarget

        srcElement:ie6~8使用,非标准

        type:事件类型,不带"on"

        cancelBubble:阻止冒泡 非标准 【赋值为 true 、 false】

        returnValue:标准属性,阻止冒泡

        e.preventDefault()    阻止默认事件

            ex:超链接,单击跳转。

            e.returnValue = false; //ie678支持阻止默认

            return false; //没有兼容性,但是只能在dom0级事件绑定使用

        stopPropagation()   阻止冒泡

        事件代理:原理是利用事件冒泡,给父亲添加事件侦听器,将来操作的子元素。

    鼠标事件

            onclick

            onmouseover        onmouseout       【冒泡】

            onmouseenter        onmouseleaver  【不冒泡】

            onfocus        onblur

            onmousemove/onmouseup/onmousedown


    -mouseenter:不会冒泡

    -mouseover:会冒泡


        键盘事件

            onkeyup

            onkeydown

            onkeypress

    keyup,keydown可以识别

            keypress:功能键是无法识别的!ex:control shift 左右箭头

            键盘事件对象的keyCode,即event.keyCode:按键的ascii码     a:65//91

            keyup,keydown: 不能识别大小写   空格:32

            keypress:区分大小写

        event整理:

            clientX clientY         可视区域的x,y坐标

            pageX   pageY          页面文档

            screenX screenY         电脑屏幕


        event整理:

            clientX clientY         可视区域的x,y坐标

            pageX   pageY           页面文档

            screenX screenY         电脑屏幕




            oninput:监听是否有输入的时候

            contextmenu:阻止鼠标右键

    box.innerText

    box.innerHTML



    Bootstrap模态框:JS组件




    oninput事件:监听输入,处理<input><select><textarea> 元素上的 input 事件。 它还会在contenteditabledesignMode打开的元素上处理这些事件。

    oninput不同的是, onchange 事件处理程序不一定会针对元素值的每次更改而调用。

    let input = document.querySelector('input'); 
    let log =document.getElementById('log'); 
    input.oninput = handleInput; 
    function handleInput(e) { 
      log.textContent = `The field's value is${e.target.value.length} character(s) long.`; 
    }

    阻止鼠标右键:

    noContext = document.getElementById('noContextMenu');
    noContext.addEventListener('contextmenu', e => {
      e.preventDefault();
    });

    p.addEventListener('contextmenu', function(e) {

    // console.log("hello");

    e.preventDefault();

            });

    p.addEventListener('selectstart', (e) => {

    e.preventDefault();

            });

  • 相关阅读:
    shell script-条件语句、循环语句
    shell script-判断式
    shell script
    AngularJs(Part 11)--自定义Directive
    AngularJS中的DI
    javascript的DI
    一些奇怪的Javascript用法
    AngularJS(Part 10)--页面导航
    URL中#符号的作用
    AngularJs(Part 9)--AngularJS 表单
  • 原文地址:https://www.cnblogs.com/macro-renzhansheng/p/13023796.html
Copyright © 2011-2022 走看看