zoukankan      html  css  js  c++  java
  • js学习20150326(三)

    1、keyCode  shiftKey   altKey   ctrlKey

      keyCode:

        左37上38右39下40回车13删除8

      obj.cloneNode(true/false);

      obj.removeAttribute(属性名);

    2、

      this错误用法:window

     1)定时器里面绝对不能用this

      2)函数报了一层

      3)行间事件,这个得传一个this

      function show2() {
            alert(this);    
        }

      <input type="button" value="按钮3" onclick="show2();" />

      4)attachEvent 面向对象解决

    3、obj.addEventListener(事件名、函数, false);

    obj.removeEventListener(事件名,函数,false); 匿名函数不能解除绑定

    false:冒泡

    true:事件  捕获(事件下沉)  父元素的事件会传播到子元素上

    事件流:冒泡+事件捕获

    低级浏览器:没有事件捕获  setCapture()

    obj.attachEvent(on+事件名, 函数)

    obj.attachEvent(on+事件名, 函数)

    4、默认事件:

    阻止默认事件:return false

    在obj.addEventListener中 return false无效

    需要ev.preventDefault();

    obj.attachEvent  return false可以起作用

    函数回调:

    只负责定义,什么时候执行  不知道

    5、

    //配对问题
    document.onclick = show;
    document.removeEventListener("click",show,false);

    这样是解除不了事件绑定的

    6、function show(){
            alert("show");    
        }
        var show = function(a,b){
            alert(a + " : " + b);    
        };
        show(1,2);

    7、this的错误用法

    <script type="text/javascript">
        function show2(){
            alert(this);    
        }
        window.onload = function(){
            
            function show(){
                alert(this);    
            }
            var aBtn = document.getElementsByTagName("input");
            
            aBtn[0].onclick = function(){
                show();    
            };
            
            aBtn[1].onclick = show;
            
            aBtn[2].onclick = function(){
                setTimeout(show,100);
            };
            
            aBtn[4].attachEvent("onclick",show);
                
        };
            
    </script>

    <input type="button" value="按钮0" />
    <input type="button" value="按钮1" />
    <input type="button" value="按钮2" />
    <input type="button" value="按钮3" onclick="show2();" />
    <input type="button" value="按钮4" />

    8、2014-11-02  鼠标滚轮、统计文字

    9、事件委托(事件代理),原理:冒泡

    oEvent.srcElement   ie  chrome

    oEvent.target  chrome  firefox

    -------------------------------------------------------------

    onmouseover  冒泡  判断从哪里来  oEvent.fromElement   ie   chrome

      oEvent.relatedTarget   高级浏览器

    onmouseout   层级关系  判断去哪里

      oEvent.toElement   ie  chrome

      oEvent.relatedTarget   高级浏览器

    处理方案:

      contains(oFrom/oTo);

    2014-11-02事件委托,鼠标移入、移出BUG

    9、2014-11-09  自定义滚动条(包含鼠标滚轮)

    10、定时器:为什么取30ms

    1、时间越小越不稳定

    2、时间大了会卡,也不稳定

  • 相关阅读:
    Java vs C++ 基础异同比较
    2. 数组
    1. 数据结构概述
    动态规划专题:LeetCode 完全平方数
    动态规划专题:LeetCode 乘积最大子数组
    动态规划专题:LeetCode连续数列
    动态规划专题:LeetCode 按摩师
    3. 无重复字符的最长子串
    字典树(前缀树/后缀树)
    10. 排序算法思想概述及总结(精华)
  • 原文地址:https://www.cnblogs.com/king-bj/p/4369630.html
Copyright © 2011-2022 走看看