javascript相关事件的几个概念 (javascript:void(o)怎么解决)
本文目录导航:
javascript相关事件的几个概念_javascript技巧
客户端javascript程序采用了异步事件驱动编程模型。
相关事件的几个概念:事件类型(event type):用来说明发生什么类型事件的字符串;事件目标(event target):发生事件的对象;事件处理程序(event handler):处理或响应事件的函数;事件对象(event object):与特定事件相关且包含有关该事件详细信息的对象;事件传播(event propagation):浏览器决定哪个对象出发其事件处理程序的过程;注册事件处理程序:1、设置javascript对象属性;2、设置html标签属性3、addEventListener或attachEvent(后者为IE的) 事件传播的三个阶段:1、发生在目标处理函数之前,称为‘捕获阶段;2、对象本身的处理事件的调用;3、事件的冒泡阶段;在javascript中,可以为某个元素指定事件,指定的方式有以下三种:1、在html中,使用onclick属性2、在javascript中,使用onclick属性3、在javascipt中,使用addEvenListener()方法三种方法的比较(1)在第二、三种方法中,可以向函数传入一个event对象,并读取其相应属性,而方法一不可以。
(2)首选第二、三种,第一种不利于将内容与事件分离,也不能使用event对象的相关内容。
一些语法细节(1)在第一种方法中,onclick大小写无关,但在第二种方法中,必须使用小写。
因为HMTL对大小写不敏感,而JS则会区分大小写。
(2)在第二、三种方法中,指定函数名时没有双引号,而第一种作为一个HTML属性,需要双引号。
(3)第一种方法需要括号,第二、三种不需要。
完整代码:

事件驱动编程的用户动作产生的事件
用户动作源对象事件类单击按钮JButtonActionEvent单击复选框JCheckBoxItemEvent, ActionEvent单击单选框JRadioButtonItemEvent, ActionEvent在文本框里按回车键JTextFieldActionEvent选择一个新项目JComboBoxItemEvent, ActionEvent窗口打开、关闭等WindowWindowEvent鼠标按下、释放等ComponentMouseEvent键盘按钮、释放等ComponentKeyEvent要理解事件驱动和程序,就需要与非事件驱动的程序进行比较。
实际上,现代的程序大多是事件驱动的,比如多线程的程序,肯定是事件驱动的。
早期则存在许多非事件驱动的程序,这样的程序,在需要等待某个条件触发时,会不断地检查这个条件,直到条件满足,这是很浪费cpu时间的。
而事件驱动的程序,则有机会释放cpu从而进入睡眠态(注意是有机会,当然程序也可自行决定不释放cpu),当事件触发时被操作系统唤醒,这样就能更加有效地使用cpu.再说什么是事件驱动的程序。
一个典型的事件驱动的程序,就是一个死循环,并以一个线程的形式存在,这个死循环包括两个部分,第一个部分是按照一定的条件接收并选择一个要处理的事件,第二个部分就是事件的处理过程。
程序的执行过程就是选择事件和处理事件,而当没有任何事件触发时,程序会因查询事件队列失败而进入睡眠状态,从而释放cpu。
事件驱动的程序,必定会直接或者间接拥有一个事件队列,用于存储未能及时处理的事件。
事件驱动的程序的行为,完全受外部输入的事件控制,所以,事件驱动的系统中,存在大量这种程序,并以事件作为主要的通信方式。
事件驱动的程序,还有一个最大的好处,就是可以按照一定的顺序处理队列中的事件,而这个顺序则是由事件的触发顺序决定的,这一特性往往被用于保证某些过程的原子化。
目前windows,linux,nucleus,vxworks都是事件驱动的,只有一些单片机可能是非事件驱动的。
什么是事件驱动编程?列出三个常用的windows事件
事件驱动编程是一种编程范式,其中程序的执行取决于事件的发生和处理。
在事件驱动编程中,程序通常由一个事件循环控制,等待事件的发生,然后调用相应的事件处理程序来响应事件。
事件可以是用户交互、传感器输入、系统通知等。
在Windows操作系统中,有许多常见的事件类型,以下是其中三个常用的Windows事件: