-
使用事件处理程序查看全部
-
dl_title.onmousedown=fnDown;// 拖曳 function fnDown(event){ event = event || window.event; var oDrag=document.getElementById('box'), // 光标按下时光标和面板之间的距离 disX=event.clientX-oDrag.offsetLeft, disY=event.clientY-oDrag.offsetTop; // 移动 document.onmousemove=function(event){ event = event || window.event; fnMove(event,disX,disY); } // 释放鼠标 document.onmouseup=function(){ document.onmousemove=null; document.onmouseup=null; } } function fnMove(e,posX,posY){ var oDrag=document.getElementById('box'), l=e.clientX-posX, t=e.clientY-posY, winW=document.documentElement.clientWidth || document.body.clientWidth, winH=document.documentElement.clientHeight || document.body.clientHeight, maxW=winW-oDrag.offsetWidth-10, maxH=winH-oDrag.offsetHeight; if(l<0){ l=0; }else if(l>maxW){ l=maxW; } if(t<0){ t=10; }else if(t>maxH){ t=maxH; } oDrag.style.left=l+'px'; oDrag.style.top=t+'px'; }查看全部
-
老师讲得太好了,超级喜欢查看全部
-
1、getElementsByClassName这个函数兼容性不好,(js ie10以下版本不支持document.getElementsByClassName) 最好自己造一个:js封装getClass方法,获取class。理解getClass方法的构造原理。 2、数组的push方法:可向数组的末尾添加一个或多个元素,并返回新的长度 3、任何能够跟着鼠标移动的东西 都要有一个前提:绝对定位! 4、鼠标事件都是在浏览器窗口中的特定位置上发生的。这个位置信息保存在事件event的clientX和clientY属性中。 所有浏览器都支持这两个属性,它们的值表示事件发生时鼠标指针在视口中的水平和垂直坐标。不包括页面滚动的距离。 5、实现随鼠标拖动,需要让窗口的坐标随着鼠标移动,鼠标的坐标保存在事件event的clientX和clientY两个属性中。 PS:document.onclick是代表在页面的任何地方点击事件。 6、onmousedown鼠标按下,窗口和鼠标的位置同步——onmousemove:当鼠标指针在元素内部移动时重复地触发 element.style.left/top=clientX/Y+'px';(这样有bug,需要求出光标落点距离面板的位置)查看全部
-
解决IE浏览器与非IE浏览器之间的兼容问题,DOM2级事件处理和0级事件处理查看全部
-
老师讲的真心不错,赞一下!查看全部
-
event = event || window.event; var ele = event.target || event/srcElement; alert(ele);查看全部
-
<script type="text/javascript"> function showMes(){ alert("hello world!") } var oBtn = document.getElementById("btn"); //根据浏览器的能力来选择处理方法,用对象进行封装 var eventHandle = { //添加事件 addEvent:function(ele, attr, fn){ //非IE浏览器DOM2事件处理 if(ele.addEventListener){ ele.addEventListener(attr, fn, false); } //IE DOM2事件处理 else if(ele.attachEvent){ ele.attachEvent('on'+attr, fn); } //DOM0 事件处理 else{ ele['on'+attr] = fn; } }, //删除事件 removeEvent:function(ele, attr, fn){ //非IE浏览器DOM2事件处理 if(ele.removeEventListener){ ele.removeEventListener(attr, fn, false); } //IE DOM2事件处理 else if(ele.detachEvent){ ele.detachEvent('on'+attr, fn); } //DOM0 事件处理 else{ ele['on'+attr] = null; } } } eventHandle.addEvent(oBtn, 'click', showMes); </script>查看全部
-
dom2级事件处理,接收参数:1、事件属性(去除on)2、调用函数名 3、布尔值(一般用false,代表事件冒泡)。通过这种方式方式添加的只能用removeEventListener删除,且参数保持一致。dom级事件处理可以为一个元素添加多个事件(相同或不同,按顺序执行)查看全部
-
1:通过HTML性质添加事件处理程序 2:DOM0级事件处理程序,通过为执行事件的元素添加处理程序的函数(通过属性添加事件处理程序) 3:DOM2级事件处理程序,通过addEventListener,与attachEvent来添加事件处理程序,(即通过事件流来添加)查看全部
-
事件捕获查看全部
-
事件冒泡查看全部
-
事件流是描述页面中接受事件的顺序查看全部
-
1.键盘事件无法使用this来绑定操作的对象(键盘事件绑定的是document),所以须先在函数中获取相关的对象; 2.笔记总结 键盘事件 onkeydown:按下键盘上任意键时触发(按住不放会重复触发); onkeypress:按下键盘上的字符键时触发; onkeyup:(按下后)释放键盘上的键时触发; keyCode:event.keyCode,获得当前按下键盘上按键的键码,回车键为13; 定时器: 注意:使用timer前一定要进行初始化=====>var timer[]; (之前一个例子的疑问,就是这个量没有初始化,但它用的是类属性来表示:obj.time) timer=setInterval(function(){},50):每隔50ms执行一次函数; clearInterval(定时器名):清除定时器,再加定时器前需清除原来的定时器,防止多个定时器叠加; console.log()—— 主要是方便调试javascript用的,可以看到在页面中输出的内容。 相比alert其的优点是: a.能看到结构化的东西,如果是alert,弹出一个对象就是[object object],但是console能看到对象的内容。 b.console不会打断你页面的操作,如果用alert弹出来内容,那么页面就死了,但是console输出内容后你页面还可以正常操作。 c.console里面的内容非常丰富,你可以在控制台输入:console,然后就可看到它有网页的各种提示。查看全部
-
Math.random()方法生产随机数,生成[0,1)之间的浮点数; 令其乘以n,则得到(0,n)之间的浮点数,然后取整便可得到[0,n)之间的整数了; Math.floor():向下取整——很多Math方法很有用,需要多多学习、回顾。查看全部
举报
0/150
提交
取消