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、

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。