//1 document.onkeydown如果多次监听同样的事件,那么前面的监听函数都会被最后一次的监听函数所覆盖. //如下所示: document.onkeydown = function(evt) { alert(9); }; document.onkeydown = function(evt) { alert(8); }; //结果是8 //2 document.onkeydown和document.body.onkeydow上下级事件处理逻辑 //如下所示: document.onk…
学习要点: 1.传统事件绑定的问题2.W3C事件处理函数3.IE事件处理函数4.事件对象的其他补充 事件绑定分为两种:一种是传统事件绑定(内联模型,脚本模型),一种是现代事件绑定(DOM2级模型).现代事件绑定在传统绑定上提供了更强大更方便的功能. 一 传统事件绑定的问题 传统事件绑定中的内联模型不做讨论,基本很少去用.先来看一下脚本模型,脚本模型将一个函数赋值给一个事件处理函数.传统绑定如: window.onload=function(){ var box=document.getEleme…
发文不易,转载传播,请亲注明链接出处,谢谢! 内容提纲: 1.传统事件绑定的问题 2.W3C事件处理函数 3.IE事件处理函数 4.事件对象的其他内容 事件绑定分为两种:一种是传统事件绑定(内联模型,脚本模型),一种是现代事件绑定(DOM2级模型).现代事件绑定在传统绑定上提供了更强大更方便的功能.   一.传统事件绑定的问题 传统事件绑定有内联模型和脚本模型,内联模型我们不做讨论,基本很少去用.先来看一下脚本模型,脚本模型将一个函数赋值给一个事件处理函数. var box = document…
 事件绑定分为两种:一种是传统事件绑定(内联模型,脚本模型),一种是现代事件绑定 (DOM2 级模型).现代事件绑定在传统绑定上提供了更强大更方便的功能. 一.传统事件绑定的问题传统事件绑定有内联模型和脚本模型,内联模型我们不做讨论,基本很少去用.先来看一下脚本模型,脚本模型将一个函数赋值给一个事件处理函数. var box = document.getElementById('box'); //获取元素 box.onclick = function () { //元素点击触发事件 alert(…
首先说明,d3支持所有的JS事件——甚至其他代码的自定义事件.这里有一个列表,The MDN Event Reference, 包含了几乎所有浏览器创建的事件类型.大家有需要可以去查看. D3的事件绑定的语法,与jquery等其他类库用起来区别不大,都是object.on( event, listener )的形式.但是在具体实践中,我们经常会遇到给同一个对象绑定多个事件监听器的问题.这里就原生js.jquery和d3分别进行讨论. 一.原生JS的事件绑定 在探讨这个问题之前,我们首先需要看一下…
JavaScript事件绑定及深入 学习要点: 1.传统事件绑定的问题 2.W3C事件处理函数 3.IE事件处理函数 4.事件对象的其他补充 事件绑定分为两种:一种是传统事件绑定(内联模型,脚本模型),一种是现代事件绑定(DOM2级模型).现代事件绑定在传统绑定上提供了更强大更方便的功能. 一.传统事件绑定的问题 传统事件绑定有内联模型和脚本模型,内联模型我们不做讨论,基本很少去用.先来看一下脚本模型,脚本模型将一个函数赋值给一个事件处理函数. window.onload = function…
事件绑定分为两种:一种是传统事件绑定(内联模型,脚本模型),一种是现代事件绑定(DOM2级模型).现代事件绑定在传统绑定上提供了更强大更方便的功能.   一.传统事件绑定的问题 传统事件绑定有内联模型和脚本模型,内联模型我们不做讨论,基本很少去用.先来看一下脚本模型,脚本模型将一个函数赋值给一个事件处理函数. var box = document.getElementById('box'); //获取元素 box.onclick = function () { //元素点击触发事件 alert(…
由于html是从上至下加载的,通常我们如果在head部分引入javascript文件,那么我们都会在javascript的开头添加window.onload事件,防止在文档问加载完成时进行DOM操作所出现的错误.如果有多个javascript文件,那么极有可能出现多个window.onload事件,但是最后起作用的只有一个,这时候就需要使用事件绑定来解决这个问题了. IE方式attachEvent(事件名称, 函数),绑定事件处理函数detachEvent(事件名称, 函数),解除绑定 DOM方…
上一篇博客JS事件对象中,老师问JS事件处理和VB中的事件处理有什么联系?先来解决一下这个问题.举个VB.net中事件处理的样例(JS敲久了,VB习惯的都不熟悉了,看来得常常回想了): 1.事件处理VB VS JS Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click MsgBox("helo!") MsgBox(sender.width) '弹出触发这个事件对象的宽度 Msg…
我们在学习JavaScript中,难免都会去网上查一些资料.也许偶尔就会遇到“事件委托”(也有的称我“事件代理”,这里不评论谁是谁非.以下全部称为“事件委托”),尤其是在查JavaScript的事件处理的时候.但是,大多数时说的是“事件绑定”,对于“事件委托”,或是不提,或是浅尝辄止.对于我这个比较好奇的人来说,实在很蛋疼.尤其是想更多的了解“事件委托”的时候. 这次干脆一劳永逸,自己把查出来的资料整理成一篇日志,总结这块的知识,也方便需要的朋友查阅. JavaScript中事件传播过程那些事儿…
JavaScript,封装库--事件绑定 在函数库添加两个函数 添加事件绑定函数 删除事件绑定函数 添加事件绑定函数 /** addEvent()函数库函数,跨浏览器添加事件绑定,注意:传入事件名称时不要on * 接收3个参数 * 参数1要绑定事件的元素对象, * 参数2事件名称,也就是什么事件,注意:传入事件名称时不要on * 参数3接收的事件执行函数 * 注意:一个元素对象,执行了多个相同的事件函数时只执行一次,其他的会被忽略,注意是相同的事件函数 * 说明: * 事件函数里的this,代表…
<script> //call 函数下的一个方法,call方法第一个参数可以改变函数执行过程中的内部this的指向,call方法第二个参数开始就是原来函数的参数列表. function fn1(a, b) { alert(this); alert(a + b); } fn1(); //window fn1.call(null, 10, 20); //调用函数 fn1() == fn1.call() </script> <script> function fn1() {…
在文档装载完成后,如果打算为元素绑定事件来完成某些操作,则可以使用 bind() 方法来对匹配元素进行特定事件的绑定,bind() 方法的调用格式为:bind( type [, data] , fn ); bind() 方法有3个参数,说明如下. 第 1 个参数是事件类型,类型包括: blur.focus.load.resize.scroll.unload.click.dbclick.mousedown.mouseup.mousemove.mouseover.mouseout. mouseent…
jQuery的事件绑定 问题 首先我们看下面的一个非经常见的事件绑定代码: //example $('#dom').click(function(e){ //do something }); $('#dom2').click(function(e){ //do something }); 这段代码在事件绑定处理上有一些缺陷: 过多的事件绑定会损耗内存 后期生成HTML会没有事件绑定.须要又一次绑定 语法过于繁杂 解决方式 对于1.2两点的解决方式,我们首先先了解一下jQuery的事件绑定 jQu…
研究fabricjs中发现,它提供canvas.on('mousemove', hh) 来绑定事件, 提供 canvas.off()来取消绑定事件这样的接口,很是方便, 那我们就不妨探究一下内在的实现原理: <h1> The "Post-Link" Function Is The "Link" Function In AngularJS Directives </h1> <p bn-using-post-link bn-using-li…
题记: 趁着<从0到1>大火的热潮,最近又一次翻阅了一遍<从一到无穷大>(这样是不是感觉整个非负数轴就圆满了^_^). 尽管作为科普类书籍.可是里面的内容还是比較深奥,幸亏有作者精准的翻译,一番细细品味后宛如醍醐灌顶,心中透亮. 一直幻想有外星人.宇宙外生物的存在,从<源代码>描写叙述的"平行世界",到<星际穿越>的"超维空间",再到时下泛滥的穿越剧,却总未解开心中那团疑惑. 也许仅仅有时间的流逝才干给我解答,仅仅怕光…
事件绑定/监听的方法 1.直接绑定 顾名思义,直接在DOM元素上绑定onclick.onmouseover.onmouseout.onmousedown.onmouseup.ondblclick.onkeydown.onkeypress.onkeyup等事件 var ul = document.getElementById('ul') console.log(ul) ul.onclick = function() { console.log('click 事件绑定成功') } 这种方法最简单,也…
在html页面中,只有body,img,iframe这一类标签具有onload事件. onload事件表示在当前元素载入完成后发生的事件.其中,window也有onload事件,但是跟body的是同一事件,如果页面上对两者都定义了该事件,只会响应一个. iframe上的事件在ie6下有一些bug: 1.iframe的onload事件跟window.onload事件只能二者取其一,似乎ie把它看作同一个事件了!例如: window.onload=function(){ alert("window…
IE attachEvent事件处理程序(事件绑定的函数)的this指向的是window不是执行当前事件的dom元素. attachEvent(type,listener); listener函数中的this不是指向执行当前事件的dom而是window切记,感觉这一点IE做的太奇怪了!…
前段时间在面试之前查找并整理了一下window.onload和$(document).ready(function(){})区别,今天有时间更到我的博客上,由于本人资历尚浅,如有不对的地方,还请指正. 原文出自:http://www.php100.com/html/program/jquery/2013/0905/5954.html 1.执行时间上的区别:window.onload必须等到页面内(包括图片的)所有元素加载到浏览器中后才能执行.而$(document).ready(function…
一.传统事件绑定的问题 解决覆盖问题,我们可以这样去解决:window.onload = function () { //第一个要执行的事件,会被覆盖 alert(1);};if (typeof window.onload == 'function') { //判断之前是否有 window.onload var saved = null; //创建一个保存器 saved = window.onload; //把之前的 window.onload 保存起来}window.onload = func…
javascript绑定事件: 经常用jQuery去写,时间长了对原生态的js事件绑定的知识会慢慢淡化或者遗忘了,必须翻出来再次总结,今天再次把js原生态事件的处理做个总结. 从最初开始,谁刚接触javascript的时候,老师都会这样教导我们怎么触发事件,在页面某个DOM节点上面添加所要触发的事件,比如:onclick,onmousedown,onmouseup,onfocus,onchange等等...看代码 <!DOCTYPE html> <html> <head>…
事件绑定,常见的是odiv.onclick=function(){..........};  这种方式绑定事件太单一,如果绑定多个,那么最后一个事件会覆盖掉之前的,也就是说只执行最后一次绑定的事件,这里要说的是addEventListener方法,和IE下的attachEvent方法: html代码如下: <html> <head> </head> <style> #box{ height:400px; width:400px; background: re…
兼容各主流浏览器的事件绑定(在同一个事件上添加多个处理函数). 1.绑定方法: //IE attachEvent(事件名, 函数) oBtn.attachEvent('onclick', aaa); oBtn.attachEvent('onclick', bbb); //FF addEventListener(事件名, 函数, 是否捕获 false) oBtn.addEventListener('click', aaa, false); oBtn.addEventListener('click'…
Javascript的事件绑定主要有四种方法(一下在IE中运行正常,但不保证其他浏览器): [注:onXXX为某一事件,fun为某一function,domId为某一DOM对象id,event类型见后边附录.] 1.在DOM中,直接用onXXX="fun();"进行绑定 2.在Javascript代码中用 DOM对象.onXXX=fun 进行绑定 3.用 DOM对象.attachEvent("onXXX",fun) 进行绑定 4.用<script for=&q…
本文转载至: http://stackoverflow.com/questions/2597152/jquery-window-resize-doesnt-work-on-load 原文标题   :JQuery: $(window).resize() doesn't work on Load JQuery 在$(window).load() 事件中 不运行 $(window).resize() 解决办法总结下  主要有这几种: 方法一:建立一个函数 把你要Resize 的动作写上  然后在  l…
W3C很好地解决了覆盖问题.相同函数屏蔽的问题.this传递问题.添加额外方法不被覆盖等问题. 但是IE8之前的版本并不支持,IE9已完全支持了. IE和W3C在事件绑定上存在很多差异,我们以冒泡和捕获为例来介绍. W3C支持冒泡和捕获方式,而IE不支持捕获. IE有自己的事件绑定机制,通过attachEvent和deleteEvent函数来实现. 首先,介绍IE解决覆盖问题的办法. window.attachEvent('onload',function(){ alert('Lee'); })…
由于开学后的编程实验课,接触了海量字符换搜索的实验,所以好几天没有学习JS课程了,今天继续学习事件绑定. 传统事件绑定存在一些问题,如:同名事件函数都执行,第二个函数会覆盖第一个. 下面我们以事件切换器(传统绑定机制)为例. 实现box标签属性红绿互换.如下: window.onload=function(){ var box=document.getElementById('box'); box.onclick=toBlue; }; function toRed(){ this.classNa…
.t1 { background-color: #ff8080; width: 1100px; height: 40px } 一.JS事件 (一)JS事件分类 1.鼠标事件:click/dbclick/mouseover/mouseout2.HTML事件: onload/onunload/onsubmit/onresize/onchange/onfoucs/onscroll3.键盘事件: keydown:键盘按下时触发 keypress:键盘按下并抬起的瞬间触发. keyup:键盘抬起触发[注意…
一.事件概念 和数据库中的触发器一样,当操作了数据的时候会引发对应的触发器程序执行 一样,JS 中的事件就是对用户特定的行为作出相应的响应的过程,其实上就是浏览器 监听到用户的某些行为的时候会执行对应绑定程序. 二.事件的绑定 在 html元素上将触发事件的行为和事件响应的程序关联起来的过程就是事件绑 定.在绑定事件的时候需要先取得 html 中的按钮,但是此时html 还没有加载完毕,所以不能取得按钮元素(button).此时我们可以将js 的导入放到页面的最后(这是之前的方案),也可以使用一…