事件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...element.attachEvent) {//IE element.attachEvent("on" + type, func); } else {//DOM0,js...element.detachEvent) {//IE element.detachEvent("on" + type, func); } else {//DOM0,js
="X-UA-Compatible" content="ie=edge"> <script type="text/javascript" src='vue.min.<em>js</em>...function(event,l) { console.log(event,l); } } }); 解释: $event是<em>事件</em><em>对象</em>...="X-UA-Compatible" content="ie=edge"> <script type="text/javascript" src='vue.min.js...一样的效果,都是事件冒泡. 效果: ? ? <!...都是阻止默认事件. 效果图: ?
2.事件的三种写法 //在HTML中把事件处理函数作为属性执行JS函数 ...一.事件对象 当触发某个事件时,会产生一个事件对象,这个对象包含着所有与事件有关的信息。...在非IE浏览器下,事件对象作为事件的参数,在IE下是window.event //实现跨浏览器兼容获取event对象 input.onclick = function (evt) {...,这就是为什 么性能优化的主要思想之一就是减少DOM操作的原因;如果要用事件委托,就 会将所有的操作放到js程序里面,与dom的操作就只需要交互一次,这样就能大 大的减少与dom的交互次数,提高性能;...每个函数都是一个对象,是对象就会占用内存,对象越多,内存占用率就越大, 自然性能就越差了,比如上面的100个li,就要占用100个内存空间,如果 是1000个,10000个呢,那只能说呵呵了,如果用事件委托
做笔记,以防自己忘记~~ JS获取事件event,不同浏览器有不同的做法。 例如IE下,在js函数中,通过window.event就可以获取,不必在函数中添加什么参数。...也可以用Prototype或者JQuery等,它们有他们对事件的包装。还是使用JS库比较好,不然就有下边的麻烦。...同时注意event的 兼容性问题。 感觉这个挺好,可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称。...在 ie中处理事件直接使用window.event对象即可,但在firefox中,是没有 window.event对象的,函数需要使用事件的时候,需要在事件发生时把事件作为参数传递给函数,不象在ie...中,事件对象是全局的,随处都可以访 问.下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象的函数的开始调用getEvent()即可,不用再把事件作为 参数传递.以下代码已经实验通过
知播渔教育 /* 1.什么是事件对象...事件对象就是一个系统自动创建的一个对象 当注册的事件被触发的时候, 系统就会自动创建事件对象 */ /* 2.事件对象的注意点: 在高级版本的浏览器中, 会自动将事件对象传递给回到函数...在低级版本的浏览器中, 不会自动将事件对象传递给回调函数 在低级版本的浏览器中, 需要通过window.event来获取事件对象 */ var oBtn = document.getElementById...("btn"); oBtn.onclick=function(event) { // 兼容性的写法 event=event||window.event
p.attachEvent("onclick",function(){ alert("p点击了"); }); Jetbrains全家桶1年46,售后保障稳定 addEventListener绑定事件...,但是只在ie 9以上版本才有用,以下版本不可用,ie9以下版本用attachEvent: 1)addEventListener有三个参数,第一个为type,代表事件名称,第二个为handler,为事件处理甘薯...事件从下往上触发,true代表捕获,事件从上往下触发。...attachEvent只有两个参数,第一个为“on”+type,即第一点中addEventListener第一个参数为click,则attachEvent的参数为onclick加上on,第二个参数为handler,事件处理函数
1.鼠标滚动事件。 说明:返回值 大于0向上滚动,小于0向下滚动。 兼容型:所有浏览器。...else if (e.detail) {//Firefox direct = e.detail; } // 返回值 alert(direct); } /*注册事件...兼容性:所有浏览器。...document.body) { scrollTop = document.body.scrollTop; } return scrollTop; } 3.去掉所有html文本标记的js
写个小Demo,分享一下使用原生JS实现拖拽时的兼容性问题如何解决?代码如下: 原生JS...中的拖拽事件兼容性问题 #div1 { width: 100px; height: 100px;...oDiv.onmousemove = fnMove; oDiv.onmouseup = fnUp; //针对IE浏览器,把所有的鼠标事件放到...//以免其它操作时,拖拽对象还在移动 if (this.releaseCapture) {
二、js事件 事件是指浏览器或用户做的某些事情。 举几个例子:鼠标单击、双击某个按钮;键盘按着(不停地在输入);键盘弹起(输入结束)… 事件有好多个,暂且只学常用的几个。 ?...我个人的理解是: 全名函数是直接在input标签(也就是HTML中)触发的事件;而匿名函数是在js中触发的事件。...这样匿名函数就会有一个执行顺序问题: 页面是从上到下执行的,当加载到js中双击事件的时候,对应的input标签都还没有加载呢。 那如何解决这个问题?...所以就算input标签在script标签的后面,也能触发事件。emm…暂且就是这样理解的。 三、js对象 学一学js中内置的几种常用对象 1数组对象 ?...在Java中,需要自定义格式,显得特别的麻烦,但是在js中直接调用该方法就可以了。 3全局对象 什么叫全局对象呢? 就是不用创建对象,直接可以使用该对象。
本期介绍 本期主要介绍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 对象是什么?有什么作用?...DOM ( Document Object Model ) 文档对象模型 文档:标记型文档( HTML 、 XML 等) DOM 是将标记型文档中所有内容(标签、文本、属性)都封装成对象...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事件类型
js监听用户的键盘敲击事件,兼容各大主流浏览器 document.onkeydown = function (event
.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName 44.parent代表父亲对象...,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...(用于框架) 89-2.opener.location.reload()刷新父窗口对象(用于单开窗口) 89-3.top.location.reload()刷新最顶端对象(用于多开窗口) 90.window.history.back
1 事件 一 .鼠标事件 1.ready()页面载入事件:载入文档节点 2 click()熟悉的单击事件 3 dbclick()双击事件 4 mousedown() /mouseup...有两个参数(方法),鼠标一定到指定对象以及移出时会触发 二 键盘事件 1 keydown 键盘按下时触发的事件 2 keyup 键盘松开一瞬间触发的事件 3 keypress...display','block') } //滚动条的距离scrollTop()和scrollLeft() }) 2 事件对象... JQ在事件函数中默认传递了参数event对象, 一 event对象属性 1 event .type 描述事件的类型 2 event.target 触发该事件的... //clientX/clientY 获取相当于页面视口的坐标 //除去上下窗口 不会随着滚动条变化而变化 <script src="jquery-3.1.1.min.<em>js</em>
event: 事件对象,当一个事件发生的时候,和当前这个对象发生的这个事件有关的一些详细信息都会被临时保存到一个指定的地方-event对象,供我们在需要的时候调用。...事件对象必须在一个事件调用的函数里面使用才有内容 事件函数:事件调用的函数,一个函数是不是事件函数,不在定义的时候决定,而是取决于谁调用这个函数。...注意兼容:ie/chrome :event是一个内置的全局变量 标准下的浏览器:事件对象是通过事件函数的第一个参数传入的。...(非标准浏览器ie 6 、7不支持,非标准支持event); 如果一个函数是被事件调用的,那么,这个函数定义的第一个参数就是事件对象。...下列案例中a就是事件对象 function f1(a){ alert(a); } document.onclick=f1; 兼容写法 function
js之动画事件 首先,动画事件主要包括以下三个animationstart,animationiteration和animationend事件,下面做简单分别介绍。...animationstart 该事件在css动画开始播放时触发 animationiteration 该事件在css动画重新播放时触发 animationend 该事件在css动画结束播放时触发 我们知道...function myfunction() { x.style.WebkitAnimation="myanimation 2s linear 3"; // Chrome, Safari 和 Opera 浏览器兼容问题...x.addEventListener("webkitAnimationIteration",myanimationiterration); // Chrome, Safari 和 Opera 浏览器兼容问题...x.addEventListener("webkitAnimationEnd",myanimationend); // Chrome, Safari 和 Opera 浏览器兼容问题 function
1.对象转数组 var obj = {name:”张三”,name:”李四”,name:”王五”}; var arr = []; arr = Object.values(obj) //obj就被转换成数组了...2.数组转对象 var obj={}; var arr = []; for(key in arr) { obj[key] = arr[key] //上面的对象obj会被这里新转换的替换 } 3.获取对象长度...对象的长度不能用.length获取,用js原生的Object.keys可以获取到 var obj = {‘ww’:’11’,’ee’:’22}; var arr = Object.keys
function getStyle(obj, name) { if (obj.currentStyle) { return obj....
一、概述 事件委托,又叫事件代理。事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。 例子:有三个同事预计会在周一收到快递。...,这就是为什么性能优化的主要思想之一就是减少DOM操作的原因;如果要用事件委托,就会将所有的操作放到js程序里面,与dom的操作就只需要交互一次,这样就能大大的减少与dom的交互次数,提高性能; 每个函数都是一个对象...,是对象就会占用内存,对象越多,内存占用率就越大,自然性能就越差了(内存不够用,是硬伤,哈哈),比如上面的100个li,就要占用100个内存空间,如果是1000个,10000个呢,那只能说呵呵了,如果用事件委托...,那么我们就可以只对它的父级(如果只有一个父级)这一个对象进行操作,这样我们就需要一个内存空间就够了,是不是省了很多,自然性能就会更好。...三、事件委托原理 事件委托利用的是事件冒泡原理,将事件绑定到父级元素上,当点击子元素时,通过事件冒泡将事件传递到父级元素。 四、总结: 那什么样的事件可以用事件委托,什么样的事件不可以用呢?
领取专属 10元无门槛券
手把手带您无忧上云