-
1.IE事件处理程序:IE也提供了类似DOM2级事件处理程序 attachEvent()添加事件 detachEvent()删除事件 接收相同的两个参数,事件处理程序的名称和事件处理程序的函数。去掉了布尔值,不使用第三个参数的原因:IE8以及更早的浏览器版本只支持事件冒泡! 在ie下给btn3添加事件 btn3.attachEvent('onclick',showMes); 主意:在ie事件处理程序上,又要把on加上 btn3.detachEvent('onclick',showMes); 支持ie事件处理程序的浏览器主要有ie和opera两个浏览器。 2.跨浏览器事件处理程序 var eventUtil = { //添加句柄 addHandler:function(element,type,handler){ if(element.addEventListener){element.addEventListener(type,handler,false);} // DOM2级事件处理程序 else if(element.attachEvent){element.attachEvent('on'+type,handler);} // IE事件处理程序 else{element['on'+type]=handler;} // DOM0级事件处理程序 }, //删除句柄 removeHandler:function(element,type,handler){ if(element.removeEventListener){element.removeEventListener(type,handler,false);} // DOM2级事件处理程序 else if(element.detachEvent){element.detachEvent('on'+type,handler);} // IE事件处理程序 else{element['on'+type]=null;} //DOM0级事件处理程序 } } eventUtil.addHandler(btn3,'click',showMessage); 3.js中所有用'.'的地方都可以使用'[]' 如:对象的点击事件element.onclick===element['onclick']查看全部
-
鼠标事件都是在浏览器窗口中的特定位置上发生的 ,这个位置信息保存在事件的Clientx和clienty属性中 所有浏览器都支持者两个属性查看全部
-
function darg(){ varoTiltle=getByClass('logon-logo-webqq','loginPanel')[0]; oTitle.onmousedown=fnDown;}查看全部
-
看代码查看全部
-
console.log 主要是方便你调式javascript用的,你可以看到你在页面中输出的内容。 相比alert他的优点是: 他能看到结构化的东西,如果是alert,淡出一个对象就是[object object],但是console能看到对象的内容。 console不会打断你页面的操作,如果用alert弹出来内容,那么页面就死了,但是console输出内容后你页面还可以正常操作。 console里面的内容非常丰富,你可以在控制台输入:console,然后就可看到它有网页的各种提示。 键盘事件 onkeydown:按下键盘上任意键时触发,(按住不放会重复触发) onkeypress:按下键盘上的字符键时触发 onkeyup:释放键盘上的键时触发,(即按住不会重复触发) keyCode:event对象的keyCode属性用于得到键盘对应键的键码值,回车键为13。 定时器: 注意:使用timer前一定要进行初始化=====>var timer[]; timer=setInterval(function(){},50):每隔50ms执行一次函数 clearInterval(定时器名):清除定时器,再加定时器前需清除原来的定时器,防止多个定时器叠加 随机数: Math.random():生成0-1的随机数 Math.floor():向下取整查看全部
-
keyDown:当用户按下键盘上的任意键时触发,而且如果按住不放的话,会重复触发此事件 keyPress:当用户按下键盘上的字符键时触发,而且如果按住不放的话,会重复触发此事件 keyUp:当用户释放键盘上的键时触发 随机数取整 Math.floor iB 键盘事件查看全部
-
true是捕获事件 faulse是冒泡,所以一般默认的是冒泡查看全部
-
键盘事件: keyDown 当按下键盘任意键触发,且按住不放重复触发该事件 keyPress 当按下键盘字符键触发,且按住不放重复触发该事件 keyUp 当释放键盘键触发查看全部
-
var eventUtil = { addHander:function(element,type,handler){ if(element.addEventListener){ element.addEventListener(type,handler,false); }else if(element.attachEvent){ element.attachEvent("on"+type,handler); }else{// element["on"+type] = handler; } }, removeHander:function(element,type,handler){ if(element.removeEventListener){ element.removeEventListener(type,handler,false); }else if(element.detachEvent){ element.detachEvent("on"+type,handler); }else{ element["on"+type] = null; } } } function showMessage(){ alert("hello,"+this.value); } var element1 = document.getElementById("btn1"); var element2 = document.getElementById("btn2"); eventUtil.addHander(element1,"click",showMessage); eventUtil.removeHander(element1,"click",showMessage);查看全部
-
1.首先分析实现原理;然后分析要取出的对象,进行取出;再给对象绑定事件; 2.分析各种事件,并对其件进行函数封装; 3.块的里面的文字(状态、下)不见了:用负缩进把他们搞到窗口之外了,当代码注释使用。 4.在适当的地方阻止事件冒泡: ul父元为div,点击li时希望ul隐藏,点击div时希望其显示,在点击li后会冒泡到div ,因而需要阻止冒泡; 注意区分onmousedown和onclick,只能阻止相对应类型事件。 重点:利用事件冒泡实现切换状态菜单;当一个块内包含众多事件时,必须要注意到事件冒泡的影响。 5.在其他任何地方点击,要使列表隐藏:document.onclick是代表在页面的任何地方点击事件。 document下的子元素还有一个onclick事件,所以要注意事件冒泡的影响; 阻止事件冒泡 event.stopPropagation(); *说明: 该方法将停止事件的传播,阻止它被分派到其他 Document 节点。在事件传播的任何阶段都可以调用它。注意,虽然该方法不能阻止同一个 Document 节点上的其他事件句柄被调用,但是它可以阻止把事件分派到其他节点。 stopPropagation() 阻止事件冒泡相当好用, 可是 IE8 及以前版本都不支持. IE 的事件对象包含特有的属性 cancelBubble, 只要将它赋值为 true 即可阻止事件继续。 event.cancelBubble = true;查看全部
-
onmousedown--当用户按下鼠标时触发 onmouseup---当用户放掉鼠标时触发 onmousemove---鼠标在移动时可以返回一个坐标值 offsetWidth,offsetHeight--网页中获取网页内容高度和宽度,可以用于获取网页中盒子的高度和宽度 用法:box.offsetWidth,box.offsetHeight Window 尺寸 有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)。 对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari: window.innerHeight - 浏览器窗口的内部高度 window.innerWidth - 浏览器窗口的内部宽度 对于 Internet Explorer 8、7、6、5: document.documentElement.clientHeight document.documentElement.clientWidth 或者 document.body.clientHeight document.body.clientWidth offsetLeft与style.left的区别 offsetLeft 获取的是相对于父对象的左边距 left 获取或设置相对于 具有定位属性(position定义为relative)的父对象 的左边距 如果父div的position定义为relative,子div的position定义为absolute,那么子div的style.left的值是相对于父div的值, 这同offsetLeft是相同的,区别在于: 1. style.left 返回的是字符串,如28px,offsetLeft返回的是数值28,如果需要对取得的值进行计算, 还用offsetLeft比较方便。 2. style.left是读写的,offsetLeft是只读的,所以要改变div的位置,只能修改style.left 原理:拖动的时候,光标位置在哪,面板位置就在哪,面板的坐标通过左上角的点来确定。 分析并解决Bug 1、确定光标在屏幕中的位置:clientheight/width 2、确定面板的位置:offsetwidth/height 3、面板的移动位置限制:四个方向 4、删除事件,mouseup方法查看全部
-
1、任何能够跟着鼠标移动的东西 都要有一个前提:绝对定位 2、鼠标事件都是在浏览器窗口中的特定位置上发生的。这个位置信息保存在事件的clientX和clientY属性中。所有浏览器都支持这两个属性,它们的值表示事件发生时鼠标指针在视口中的水平和垂直坐标。不包括页面滚动的距离。 3、js ie10以下版本不支持document.getElementsByClassName 4、js封装getClass方法,获取class 5、实现随鼠标拖动,需要让窗口的坐标随着鼠标移动,鼠标的坐标保存在事件的clientX和clientY两个属性中。 6、onmousedown鼠标按下 窗口和鼠标的位置同步; element.style.left/top=clientX/Y+'px'; onmousemove当鼠标指针在元素内部移动时重复地触发 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。查看全部
-
btn.onclick === btn['onclick'] 完全等价的,在不能使用.的时候使用后面的写法查看全部
-
DOM0级和DOM2级都可以添加多个时间,他们会按顺序执行查看全部
-
btn.addEventListener('a',b,c) DOM2级时间,添加事件监听程序。a为事件名(注意:去掉on),b为函数名字(不加引号和括号),c为布尔值(true为捕获、false为冒泡)。 btn.removeEventListener('a',b,c) 通过addEventListener添加的事件必须通过removeEventListener删除,而且三个参数必须一致。查看全部
举报
0/150
提交
取消