事件event在IE下是window的一个属性window.event,而在其他浏览器下,是作为事件的参数 div.onclick = function(e){ //事件兼容 var e = window.event...|| e; //执行事件的目标元素的兼容 var target = e.srcElement || e.target; return target }
var EventUtil = { //返回对event对象的引用 getEvent: function (event) { return event ?...event : window.event; }, //返回事件的目标 getTarget: function (event) { return event.target...return event.toElement; } else if (event.fromElement) {//IE的mouseover...element.attachEvent) {//IE element.attachEvent("on" + type, func); } else {//DOM0,js...element.detachEvent) {//IE element.detachEvent("on" + type, func); } else {//DOM0,js
做笔记,以防自己忘记~~ JS获取事件event,不同浏览器有不同的做法。 例如IE下,在js函数中,通过window.event就可以获取,不必在函数中添加什么参数。...也可以用Prototype或者JQuery等,它们有他们对事件的包装。还是使用JS库比较好,不然就有下边的麻烦。...同时注意event的 兼容性问题。 感觉这个挺好,可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称。...在 ie中处理事件直接使用window.event对象即可,但在firefox中,是没有 window.event对象的,函数需要使用事件的时候,需要在事件发生时把事件作为参数传递给函数,不象在ie...中,事件对象是全局的,随处都可以访 问.下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象的函数的开始调用getEvent()即可,不用再把事件作为 参数传递.以下代码已经实验通过
2.事件的三种写法 //在HTML中把事件处理函数作为属性执行JS函数 ...当触发某个事件时,会产生一个事件对象,这个对象包含着所有与事件有关的信息。...在非IE浏览器下,事件对象作为事件的参数,在IE下是window.event //实现跨浏览器兼容获取event对象 input.onclick = function (evt) {...var e = evt || window.event; alert(e); }; 二.事件对象的作用 1....,这就是为什 么性能优化的主要思想之一就是减少DOM操作的原因;如果要用事件委托,就 会将所有的操作放到js程序里面,与dom的操作就只需要交互一次,这样就能大 大的减少与dom的交互次数,提高性能;
="X-UA-Compatible" content="ie=edge"> js...function(event,l) { console.log(event,l); } } }); 解释: $event是事件对象...="X-UA-Compatible" content="ie=edge"> js...一样的效果,都是事件冒泡. 效果: ? ? 事件. 效果图: ?
写个小Demo,分享一下使用原生JS实现拖拽时的兼容性问题如何解决?代码如下: 原生JS...中的拖拽事件兼容性问题 #div1 { width: 100px; height: 100px;...oDiv.onmousemove = fnMove; oDiv.onmouseup = fnUp; //针对IE浏览器,把所有的鼠标事件放到...//以免其它操作时,拖拽对象还在移动 if (this.releaseCapture) {
知播渔教育 /* 1.什么是事件对象...事件对象就是一个系统自动创建的一个对象 当注册的事件被触发的时候, 系统就会自动创建事件对象 */ /* 2.事件对象的注意点: 在高级版本的浏览器中, 会自动将事件对象传递给回到函数...在低级版本的浏览器中, 不会自动将事件对象传递给回调函数 在低级版本的浏览器中, 需要通过window.event来获取事件对象 */ var oBtn = document.getElementById...("btn"); oBtn.onclick=function(event) { // 兼容性的写法 event=event||window.event...; // IE9以下的浏览器 }
,但是只在ie 9以上版本才有用,以下版本不可用,ie9以下版本用attachEvent: 1)addEventListener有三个参数,第一个为type,代表事件名称,第二个为handler,为事件处理甘薯...事件从下往上触发,true代表捕获,事件从上往下触发。...2)attachEvent只有两个参数,第一个为“on”+type,即第一点中addEventListener第一个参数为click,则attachEvent的参数为onclick加上on,第二个参数为...handler,事件处理函数。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
1.鼠标滚动事件。 说明:返回值 大于0向上滚动,小于0向下滚动。 兼容型:所有浏览器。...else if (e.detail) {//Firefox direct = e.detail; } // 返回值 alert(direct); } /*注册事件...兼容性:所有浏览器。...代码: // 滚动条的高度 function getScrollTop() { var scrollTop = 0; if (document.documentElement && document.documentElement.scrollTop...document.body) { scrollTop = document.body.scrollTop; } return scrollTop; } 3.去掉所有html文本标记的js
二、js事件 事件是指浏览器或用户做的某些事情。 举几个例子:鼠标单击、双击某个按钮;键盘按着(不停地在输入);键盘弹起(输入结束)… 事件有好多个,暂且只学常用的几个。 ?...我个人的理解是: 全名函数是直接在input标签(也就是HTML中)触发的事件;而匿名函数是在js中触发的事件。...所以就算input标签在script标签的后面,也能触发事件。emm…暂且就是这样理解的。 三、js对象 学一学js中内置的几种常用对象 1数组对象 ?...③toLocaleString() 将时间格式转换成当前系统对应的本地格式。 在Java中,需要自定义格式,显得特别的麻烦,但是在js中直接调用该方法就可以了。 3全局对象 什么叫全局对象呢?...就是不用创建对象,直接可以使用该对象。 有点类似于Java中的静态方法,但是js中更简洁,连类名都没有的。 ?
js监听用户的键盘敲击事件,兼容各大主流浏览器 document.onkeydown = function (event...arguments.callee.caller.arguments[0]; if (e && e.keyCode == 27) { // 按 Esc //要做的事情...alert(1); } if (e && e.keyCode == 113) { // 按 F2 //要做的事情...alert(2); } if (e && e.keyCode == 13) { // enter 键 //要做的事情
本期介绍 本期主要介绍DOM对象&JS事件总结&全局函数 文章目录 1. DOM 对象 1.1 DOM 对象是什么?有什么作用? 1.2 DOM 树介绍 1.3 DOM 和 BOM 关系 2. ...JS 事件总结 3. 全局函数(global) 3.1 执行 3.2 编码和解码 3.3 字符串转数字 1. DOM 对象 1.1 DOM 对象是什么?有什么作用?..., 通过操作对象的属性或者方法,来达到操作或者改变 HTML 展示效果的目的。...加载到浏览器的内存 加载并解析到内存中,会生成一张 DOM 树 其中: 在 DOM 树中所有的成员都可以成为节点 (Node) 整个 DOM 树,是一个文档节点对象,即...JS 事件总结 常见事件 示例代码: 鼠标键盘事件 示例代码: 3. 全局函数(global) 3.1 执行 作用:用于增强程序的扩展性。
onkeydown="handleEvent(event)" onkeyup="handleEvent(event)" onkeypress="handleEvent(event)"> //在火狐浏览器事件...onkeypress等必须函数里面有参数event,否则火狐浏览器不能识别 //在火狐浏览器事件handleEvent...var textbox = document.getElementById("txt1"); textbox.value = " " + e.type;//e.type事件类型
在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含这所有与事件有关的信息。包括导致事件的元素、事件的类型和事件的相关信息。例如鼠标操作的事件中,会包含鼠标的位置信息。...而键盘触发的事件会包含与按下的键有关信息。所有浏览器都支持event对象,但支持方式不同。 DOM中的事件对象 兼容dom的浏览会将一个event对象传递到事件处理程序中。...document.body.onclick发生在事件的冒泡阶段。 IE中的事件对象 在IE中方式event对象可以通过多种方式,取决于指定事件处理程序的方法。...但是如果通过attachEvent添加事件,则事件处理程序会传递一个event对象。 IE的event对象同样包含创建它的相关属性和方法,与DOM事件一样,也会因为事件类型的不同而不同。... 虽然DOM与IE的event对象不同,但是可以通过js库,来解决浏览器的兼容性。
在进行手机网页开发过程中经常会遇到手机版本不兼容问题,很容易导致在这个手机上运行的相当好,但是,换一个手机之后发现完全不是那么回事,效果都变了。...这时候,就需要调节手机版本兼容问题了,下面我来给大家介绍一种兼容各种手机版本的js代码。...meta name="viewport" content="width=640, user-scalable=no, target-densitydpi=device-dpi"> 还有一种就是不用那么多的js...apple-mobile-web-app-capable" content="yes" /> 这样,在编程的时候就不会因为手机版本兼容问题而产生烦恼了
事件对象 包含事件相关的信息,如鼠标、时间、触发的DOM对象等 js默认将事件对象封装好,并自动的以参数的形式,传递给事件处理函数的第1个参数,如下: document.getElementsByTagName...("div")[0].onclick = function(e){ e = window.event || e; //兼容IE低版本(事件对象绑定在window的event上) console.log...(e);//这里e就是事件对象 } 事件的属性和方法 type:获取事件类型(click、mouseover等等) target:获取发生的所在元素(在低版本IE下用srcElement属性) stopPropagation...() 阻止事件冒泡(IE用cancelBubble属性为false阻止冒泡) preventDefault() 阻止事件默认行为(IE用returnValue属性为false阻止默认行为) 事件委托 利用...target属性,获取时间发生的所在对象,避免全体子元素加事件,对比如下: var tbs=document.getElementsByTagName("td"); for(var i=0;i
else if(value=="mid"){ ... ... }else if(value=="hih"){ ... ... } } 以上代码片是可以在Firefox和IE9下运行的,...但是它在我的360浏览器上就是无效的,究其原因还是IE版本的问题(存在兼容性问题), 也就是:老版本只能这样 而高版本和Firefox则支持这样... 具体版本我们不去管它,因为我找到了折中的实现办法,即可以兼容的实现触发事件,解决了以上问题 修改后 修改后的代码片如下: <select style...if(selectedOption.value=="mid"){ ... ... }else if(selectedOption.value=="hih"){ ... ... } } 修改后的实现其实是用了低版本...IE的方法,但是通过获取到选项的value值,来选择要执行的js代码段,从而实现了一种灵活的兼容的触发事件的方法 个人认为,此办法非常不错。
,top代表最顶端对象 45.打开子窗口的父窗口为:opener 46.表示当前所属的位置:this 47.当在超链接中调用JS函数时用:(Javascript:)来开头后面加函数名 48.在老的浏览器中不执行此...HTML: 51.当超链和ONCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:dfsadf 52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function......的多重继续. 73.JS中的self指的是当前的窗口 74.JS中状态栏显示内容:window.status="内容" 75.JS中的top指的是框架集中最顶层的框架 76.JS中关闭当前的窗口:...()刷新父亲对象(用于框架) 89-2.opener.location.reload()刷新父窗口对象(用于单开窗口) 89-3.top.location.reload()刷新最顶端对象(用于多开窗口)
有两个参数(方法),鼠标一定到指定对象以及移出时会触发 二 键盘事件 1 keydown 键盘按下时触发的事件 2 keyup 键盘松开一瞬间触发的事件 3 keypress...()和focusin() 的区别 focusin可以在父元素上检测子元素获得焦点的情况 而focusout可以在父元素上检测子元素失去焦点情况 四 其他事件 1 scroll()滚动滚动条时触发的事件...scrollTop()和scrollLeft() }) 2 事件对象 JQ在事件函数中默认传递了参数event对象, 一 event对象属性 ...1 event .type 描述事件的类型 2 event.target 触发该事件的DOM元素 3 event.currentTarget 在事件冒泡阶段中的当前DOM...js"> client screen page
这里其实还有2层意思: 第一,现在委托前台的同事是可以代为签收的,即程序中的现有的dom节点是有事件的; 第二,新员工也是可以被前台MM代为签收的,即程序中新添加的dom节点也是有事件的。...,这就是为什么性能优化的主要思想之一就是减少DOM操作的原因;如果要用事件委托,就会将所有的操作放到js程序里面,与dom的操作就只需要交互一次,这样就能大大的减少与dom的交互次数,提高性能; 每个函数都是一个对象...,是对象就会占用内存,对象越多,内存占用率就越大,自然性能就越差了(内存不够用,是硬伤,哈哈),比如上面的100个li,就要占用100个内存空间,如果是1000个,10000个呢,那只能说呵呵了,如果用事件委托...,那么我们就可以只对它的父级(如果只有一个父级)这一个对象进行操作,这样我们就需要一个内存空间就够了,是不是省了很多,自然性能就会更好。...三、事件委托原理 事件委托利用的是事件冒泡原理,将事件绑定到父级元素上,当点击子元素时,通过事件冒泡将事件传递到父级元素。 四、总结: 那什么样的事件可以用事件委托,什么样的事件不可以用呢?
领取专属 10元无门槛券
手把手带您无忧上云