事件驱动编程
来源:互联网 发布:radius认证端口号 编辑:程序博客网 时间:2024/05/16 14:38
事件驱动编程
发生某个事件、或者状态改变,调用某个事件处理函数
几个核心概念
事件源:谁发出事件通知,发出消息;也就是事件主体
事件名称:发出什么样的通知的名称,比如鼠标到我
头上了,我被别人点了一下
事件响应函数:谁对这个事件感兴趣,当这个事件发生时
要执行什么样的操作
事件对象:一般来说,当事件发生时,会产生一个描述
该事件的具体对象,包括具体的参数一起发给响应函数,
好让他们通过事件对象来了解事件更加详细的信息。
比如说谁在几点几分点的等。
示例
<p style="color:red" id="p1">Hello world!</p>//事件源
function shout(e){//事件响应函数,也叫监听函数
alert(e.clientX);//e事件对象
}
document.getElementById("p1").onclick=shout;//重点
//在事件源上绑定事件响应函数
通过console.dir(e);//打印事件对象的属性、方法
要对事件源加事件以后都要写在js文件里
window.onload=function(){
document.getElementById("p1").onclick=shout;//默认给shout传事件对象
}
//IE中的事件对象统一用event代表
//Firefox的事件对象统一为事件处理函数的第一个参数,可以为e
e=e||event;//用这句话解决问题
浓缩语句的方法
function $(id){
return document.getElementById(id);
}
鼠标事件
键盘事件
onkeypress:onkeydown、onkeypress、onkeyup
功能键无效,只对字母数字有效
onkeydown:对功能键也有效
HTML事件
window的onload、unload
绑定多个监听函数,使用
addEventListener或attachEvent
W3C DOM标准
bCapture表示事件是否向上冒泡传播
dom对象.addEventListener("事件名",fn,bCapture);
dom对象.removeEventListener("事件名",fn,bCapture);
IE独有的
dom对象.attachEvent("事件名",fn,bCapture);
dom对象.detachEvent("事件名",fn,bCapture);
阻止默认的鼠标事件(例如超链接事件)
Firefox : e.preventDefault();
IE: e.returnValue=false;
例:阻止右键菜单
window.onload=function(){
document.oncontextmenu=function(e){
e=e||event;
if(document.attachEvent){
e.returnValue=false;
}else{
e.preventDefault();
}
}
}
重点
判断是不是IE
if(document.attachEvent){
//IE代码
dom对象.attachEvent("onclick",fn);
dom对象.attachEvent("onclick",fn2);
}else{
//Firefox代码
dom对象.addEventListener("click",fn);
dom对象.addEventListener("click",fn2)
}
- 事件驱动编程
- 事件驱动编程
- Javascript事件驱动编程
- 事件驱动编程
- 关于事件驱动编程
- 事件驱动编程
- python 事件驱动编程模型
- 初识Twisted:事件驱动编程
- Lesson 3 事件驱动编程
- Node.js事件驱动编程
- dojo事件驱动编程之事件绑定
- dojo事件驱动编程之事件绑定
- 事件与状态机 事件驱动编程
- 事件驱动的JScript面对象编程
- 事件驱动的JScript面对象编程
- 事件驱动的JScript面对象编程
- 自动化测试之---Tcl事件驱动编程
- javascript之DOM事件驱动编程
- Windows7电脑上不去网,ipconfig查询时默认网关会出现0.0.0.0问题的解决
- sched_setscheduler用法
- 文档对象模型DOM
- Difference between attachment & overlay
- poj1142
- 事件驱动编程
- c++内联函数与宏的区别
- 作为软件工程师,你必须知道的20个常识
- OpenCV中SVM的使用
- 一位码农的人生自述(六)------灾难
- ubuntu系统中samba的配置与安装
- SQL中的CASE WHEN使用 Case具有两种格式。简单Case函数和Case搜索函数
- 深喉咙搜索功能
- 注重用户体验,掌握KISS原则,知道欧卡姆剃刀原则(转载)