web学习记录-JS-13

事件的委派

  指将事件统一绑定给元素的共同祖先元素,这样后代元素上的时间触发时,会一直冒泡到祖先元素,从而通过祖先元素的响应函数来处理事件;

  是利用了冒泡,通过委派可以减少事件绑定的次数,提高程序性能;

  如果触发事件是我们期望的元素,则执行,否则不执行;

  enent.target  触发事件返回触发事件的元素

事件的绑定

  使用对象.事件 = 函数 的形式绑定响应函数;它只能同时绑定一个响应函数;

addEventListener()通过这个方法也可以为元素绑定响应函数;  不支持IE8以及以下的浏览器;

  参数1,时间的字符串,不要on  2,回调函数,当时间出发时该函数会被调用  3,是否在捕获阶段触发事件,需要一个布尔值,一般都传false;

  可以同时为一个元素的相同事件同时绑定多个响应函数,按照绑定的绑定顺序执行;

attachEvent()在IE8中使用来绑定多个处理事件

  参数1,事件的字符串,要on; 2,回调函数;

  执行顺序为从后到前;

事件的传播

  1。微软,从内向外,冒泡

  2。网景,从外向内,

  3。W3C  捕获阶段,目标阶段,冒泡阶段  如果希望在捕获阶段执行参数,可将addEventListent()的第三个参数设置为true;

拖拽

1,当鼠标在被拖拽的元素上按下时,开始拖拽  onmousedown

2,当鼠标移动时,元素跟着移动  onmousemove

3,当鼠标松开时,被拖拽元素固定在当前位置  onmouseup

当我们拖拽浏览器中的内容时,浏览器会默认搜索该内容,如果不希望发生这行为,则return false;IE8不支持;

  当调用一个元素的setCapture()方法后,这个元素将会把下一次所有的鼠标按下相关的时间捕获到自身上;IE支持

  relaseCapture()施放捕获;IE支持

鼠标的滚轮事件;

onmousewheel();火狐不支持;火狐中用DOMMouseScroll来绑定滚动事件,该事件只能通过addEventListener()函数来绑定

    box1.onmousewheel =  function(){}通用绑定;

    bind(box1,"DOMMouseScroll",box1.onmousewheel);为火狐绑定;

    event.wheelDelta可以获取滚动方向,向上正值,想下负值;  火狐不支持;

    event.detail来获取,向上负值,向下正值;

当滚轮滚动时,浏览器有滚动条时,滚动条会随之滚动;return  false ;来解决  火狐不支持;

    event.preventDefault()来取消;火狐;IE8不支持;

键盘事件

onkeydown  按键被按下;按下不松手,事件会一直被触发;

       连续触发时,第一次跟第二次间隔会长一点,其他会非常快;

       为了防止误操作的放生;

onkeyup    按键被松开;

键盘事件一般都会绑定给一些可以获取到焦点的对象或者是document;

通过keyCode来获取按键的编码;可判断哪个按键被按下;

除了keyCode还提供了几个属性

altKey  ctrlKey  shiftKey  按下返回true,否则返回false;

 

posted @ 2019-01-16 21:04  羅羊羊  阅读(133)  评论(0编辑  收藏  举报