事件

1、鼠标的移入移除
js部分

//onmouseover、onmouseout子集到父级和父级到子集都活触发
        yellow.onmouseover = function(){ }
        yellow.onmouseout = function(){ }
//鼠标进去 onmouseenter.onmouseleave只在当前目标元素触发一次
        yellow.onmouseenter = function(){ }
        yellow.onmouseleave = function(){}

2、鼠标事件
js部分

//鼠标单击 onclick
        div1.onclick = function(){}
// 鼠标双击   ondblclick
         div1.ondblclick = function(){ }
// 鼠标按下 onmousedown
        div1.onmousedown = function(){ }
// 鼠标抬起onmouseup
         div1.onmouseup = function(){}
// 右击鼠标oncontextmenu
         div1.oncontextmenu = function(){}
// 鼠标移动 onmousemove
         div1.onmousemove = function(){}

3、事件对象
js部分

我们可以通过事件对象来拿到鼠标事件、 键盘事件所携带信
息。获取事件对象可以 直接通过 window.event 拿到这个对
象,但是由于火狐浏览器并不支持这个方法,所以 我们一般需
要在触发事件的函数中传入 event 参数,以适配火狐
// 为什么加window 为了兼容浏览器更早的版本
       document.onmouseup = function(e){
        var ev = e||window.event;
}

4、键盘事件
js部分

 onkeydown按下键盘  携带的一个参数是:keyCode,这
个参数的每个按键的编码,我们可以通过编码判断用户按下
的键
练习:(上、下、左、右键控制div的移动)
部分代码如下:
 document.onkeydown = function(e){
             var ev= e||window.event;
             switch (e.keyCode)
                  {
                  case 37:
                    div1.style.left = div1.offsetLeft-10+'px';
                    break;
                  case 38:
                    div1.style.top = div1.offsetTop-10+'px';
                    break;
                  case 39:
                    div1.style.left = div1.offsetLeft+10+'px';
                    break;
                  case 40:
                    div1.style.top = div1.offsetTop+10+'px';
                    break;
                  default;
                    console.log('其他按键');
                  }
         }

5、输入框事件
js部分

    // onfocus当输入框聚焦时触发
        btn.onfocus = function(){ }
    // onblur当输入框失焦时触发
       btn.onblur = function(){}
    // oninput当在输入框输入内容的时候触发   实时监听
        btn.oninput = function(){}
    // onchange  当输入框内的内容修改时触发   提交监听
        btn.onchange = function(){}

6、表单事件
js部分

  // onsubmit表单提交事件
        form1.onsubmit = function(e){
            var e= ev||window.event;
            if (userName.value==''|| passWord.value == '') {
                //方式1. 阻止默认事件
                // e.preventDefault()   ie6-ie8不兼容 只针对on事件;
                //方式2. 阻止默认事件
                return false;
            }
        }

7、事件冒泡与下沉、如何阻止事件传递 、事件的绑定/监听
js部分

  // 事件冒泡  子节点事件带动父节点一级级执行
  // 事件冒泡  父级先执行,一级级到下面的子集执行
  // 阻止事件传递
            // 1.cancelBubble = true;(非标准)
            // 2.stopPropagation();
            用法: event.cancelBubble = true;
                  event.stopPropagation();
//事件的绑定/监听  addEventListener(‘事件’,函数,true/false);
                          注意: true下沉   false 冒泡(默认)
// 移除事件removeEventListener
例:
     var color = document.querySelectorAll('div');
        for (var i = 0; i < color.length; i++) {
            color[i].addEventListener('click',function(e){
                var ev= e||window.event;
                e.stopPropagation();
                console.log(this.id);
            },true);
        }
练习:(div的拖拽  js部分代码)
      document.addEventListener('mousedown',function(){
            div1.addEventListener('mousemove',FN,false);
        },false);
        document.addEventListener('mouseup',function(){
            div1.removeEventListener('mousemove',FN,false);
        },false);

        function  FN(e){
            var ev= e||window.event;
            div1.style.left = e.clientX-div1.offsetWidth/2+'px';
            div1.style.top = e.clientY-div1.offsetHeight/2+'px';
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 5,527评论 2 10
  • 第1章 鼠标事件 1-1 jQuery鼠标事件之click与dbclick事件 用交互操作中,最简单直接的操作就是...
    mo默22阅读 5,045评论 0 6
  • 1.何谓事件 用户和网页交互时的行为,动作,称之为事件; 2.监视事件 现实生活中,为了监视车辆是否违章,通过在红...
    草鞋弟阅读 3,808评论 0 0
  • 鼠标事件 .click() 单击 .dbclick()双击 .click() 不带任何参数,一般用来指定触发一...
    学开船不会开船阅读 3,244评论 0 0
  • 2016年12月20日,沸点天下第二届微商春晚将于深圳举办,此次的晚会规模有三万人,不仅会邀请到很多的大牌明...
    宝妈心事阅读 3,290评论 0 0