Javascript属性:addEvent()用法浅析

做 web 应用的人,经常会用到 Javascript 来处理页面上的一些事情。表单验证我们不谈,在根据用户使用情况,显示/隐藏,或者执行一段
js function,的时候,我们需要和页面的 DOM 树打交道。看看 Gmail ,发送邮件,按下“发送”钮后,用 Ajax
在后端发送邮件内容,根据返回的状态,在编辑页面的上方直接显示一小段文字“您的邮件已经发送。”。 

通常的思想,我们会在那个发送按钮里面写上: 

onclick="javascript:sendmail();" 

然后由它来处理。Ajax
返回后,再触发另一个 show_status() 在 id=status 的对象中给出相关的状态信息。复杂的应用的话,源代码里面满目的 html 和 js
混杂。不易维护,也不足够灵活。按理,XHTML 只是用来表示一个表示层的 DOM 树,JS
则对这棵树来做一些操作。交错混杂都谁都不好。 

现在有了 addEvent() 和 removeEvent()
。问题就简单了。对一个 dom 对象,给出事件类型,给出所要触发的 function ,这个世界就清静了。你可以随时 remove
掉,换个新的事件处理。如此可以简化很多代码。quirksmode 搞了个比赛,ejohn 拿了第一名,他的实现是所有参与者中最简单明了的一个,在他的 blog
上给出了相关的说明和演示。 

addEvent( object, eventType, function
); 

addEvent( document.getElementById(‘foo‘), ‘click‘,
doSomething ); 
addEvent( obj, ‘mouseover‘, function(){
alert(‘hello!‘); }
); 

使用之前,先把下面的代码复制过来: 

function
addEvent( obj, type, fn ) { 
if ( obj.attachEvent )

obj[‘e‘+type+fn] =
fn; 
obj[type+fn] = function(){obj[‘e‘+type+fn](
window.event );} 
obj.attachEvent( ‘on‘+type, obj[type+fn]
); 
} else 
obj.addEventListener(
type, fn, false ); 

function
removeEvent( obj, type, fn ) { 
if ( obj.detachEvent )

obj.detachEvent( ‘on‘+type, obj[type+fn]
); 
obj[type+fn] = null; 
}
else 
obj.removeEventListener( type, fn, false
); 
}

Javascript属性:addEvent()用法浅析,布布扣,bubuko.com

时间: 2024-10-08 09:44:49

Javascript属性:addEvent()用法浅析的相关文章

HTML 中mailto属性的用法浅析

近来,小码哥有点小闲啊,因此,也就没有想更新的内容了!希望光顾过俺博客的"yin民"不要吐槽我啊,,,,, 不过,今天小码哥用到了一个对我来说相对陌生的HTML属性,就是mailto属性,说是属性吧,也不完全正确.因为它是作为href属性值得前缀来用的. 其大概功能就是会给某个邮箱地址添加上一个点击效果,点击邮箱地址后,会直接跳转到或进入到电脑上某个邮箱软件.方便用户更快捷的.无误的发送邮件! 废话不多说了,直接上实例吧! HTML结构: <!doctype html> &

CSS3的新增属性及其用法

CSS3的新增属性及其用法 现如今,随着 Web2.0 技术的流行,之前的 CSS2 标准和相关技术似乎已经满足不了日益增长的开发需求:人们需要实现更加美观.用户体验更好的界面.CSS3,这个新一代的标准应运而生.为了满足现有的对于 Web UI 的开发需求,它提供了一系列强大的功能,如许多新的 CSS 属性(文字,布局,颜色等等),各种 CSS 特效,甚至还支持 CSS 动画.元素的变换.这些 CSS 新特性在现阶段可以说都是非常强大和完善的,您只需要加入几行简单的 CSS 代码便可以实现出一

IOS开发-UI学习-UITextField的具体属性及用法

直接上代码,里面有各种属性的用法注释,至于每个属性有多个可以设置的值,每个值的效果如何,可以通过查看这个函数参数的枚举量,并逐一测试. 1 //制作登陆界面 2 #import "ViewController.h" 3 4 @interface ViewController (){ 5 6 //定义全局变量(控件) 7 UITextField *username; 8 UITextField *password; 9 UIButton *resignbutton; 10 UIButto

#Javascript:this用法整理

常用Javascript的人都知道,[this這個關鍵字在一個函式內究竟指向誰]的這個問題很令人頭大,本人在這裡整理了一下Javascript中this的指向的五種不同情況,其中前三種屬於基本的情況,而後兩種情況可基於前三種情況的方式來進行思考. 1.this指向於調用該函式之物件 如果你有學過C/C++,你可能會記得一個物件內的成員函式裡的this指的即是該成員函式所在之物件,但在Javascript裡則有那麼些許不同,Javascript裡的this看的是究竟是誰調用該函式,而不是看該函式被

简述UIView的属性和用法

1.alpha 设置视图的透明度.默认为1. // 完全透明 view.alpha = 0; // 不透明 view.alpha = 1; 2.clipsToBounds // 默认是NO,当设置为yes时,超出当前视图的尺寸的内容和子视图不会显示. view.clipsToBounds = YES; 3.hidden // 默认是NO,当设置为yes,视图就看不见了. view.hidden = YES; 4.userInteractionEnabled // 默认为YES,如果设置为No,v

CSS margin属性与用法教程

margin 属性是css用于在一个声明中设置所有 margin 属性的简写属性,margin是css控制块级元素之间的距离, 它们之间是透明不可见的. margin属性包含了margin left :距左元素块距离(设置距左内边距) :margin top:距头顶(上)元素块距离(设置距顶部元素块距离):margin right :距右元素块距离(设置距右元素块距) :margin bottom :底元素块距离(设置距低(下)元素块距).其二维构建图可见CSS属性二维图. margin的解剖图

XCODE UITextField 中的属性和用法

XCODE  UITextField  中的属性和用法 一些基本的用法 UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; CGRect frame =CGRectMake(110, 100, 100, 30); button.frame = frame; button.backgroundColor = [UIColor purpleColor]; [button setTitle:@"command&qu

EditText的一些属性及用法

EditText的一些属性及用法设置当EditText获得焦点时把文本框的内容全选中android:selectAllOnFocus="true"设置某个EditText默认获得焦点android:focusableInTouchMode="true"设置光标在EditText中的位置,默认是0,可根据自己的需要设置不同的值EditText edt;String text=edt.getText().toString;edt.setSelection(1); //光

javascript中createTextRange用法(focus)

createtextrange createrange区别: 对象或元素不同,虽然都是返回TextRange.例如:     var r=document.body.createTextRange()    var r=document.createRange() document. createTextRange 可以对body.TEXTAREA.BUTTON创建TextRange,Range -- 范围 返回createTextRange的text和htmlText Js代码 <script