事件驱动编程的用户动作产生的事件 (事件驱动编程的概念)

本文目录导航:

事件驱动编程的用户动作产生的事件

用户动作源对象事件类单击按钮JButtonActionEvent单击复选框JCheckBoxItemEvent, ActionEvent单击单选框JRadioButtonItemEvent, ActionEvent在文本框里按回车键JTextFieldActionEvent选择一个新项目JComboBoxItemEvent, ActionEvent窗口打开、关闭等WindowWindowEvent鼠标按下、释放等ComponentMouseEvent键盘按钮、释放等ComponentKeyEvent要理解事件驱动和程序,就需要与非事件驱动的程序进行比较。

实际上,现代的程序大多是事件驱动的,比如多线程的程序,肯定是事件驱动的。

早期则存在许多非事件驱动的程序,这样的程序,在需要等待某个条件触发时,会不断地检查这个条件,直到条件满足,这是很浪费cpu时间的。

而事件驱动的程序,则有机会释放cpu从而进入睡眠态(注意是有机会,当然程序也可自行决定不释放cpu),当事件触发时被操作系统唤醒,这样就能更加有效地使用cpu.再说什么是事件驱动的程序。

一个典型的事件驱动的程序,就是一个死循环,并以一个线程的形式存在,这个死循环包括两个部分,第一个部分是按照一定的条件接收并选择一个要处理的事件,第二个部分就是事件的处理过程。

程序的执行过程就是选择事件和处理事件,而当没有任何事件触发时,程序会因查询事件队列失败而进入睡眠状态,从而释放cpu。

事件驱动的程序,必定会直接或者间接拥有一个事件队列,用于存储未能及时处理的事件。

事件驱动的程序的行为,完全受外部输入的事件控制,所以,事件驱动的系统中,存在大量这种程序,并以事件作为主要的通信方式。

事件驱动的程序,还有一个最大的好处,就是可以按照一定的顺序处理队列中的事件,而这个顺序则是由事件的触发顺序决定的,这一特性往往被用于保证某些过程的原子化。

目前windows,linux,nucleus,vxworks都是事件驱动的,只有一些单片机可能是非事件驱动的。

事件驱动编程的用户动作产生的事件 (事件驱动编程的概念)

JavaScript中,1)何为事件驱动模式(文字陈述和代码) 2)JS中事件类型分类(用代码举例说明)

12.2事件驱动与事件处理事件驱动是JavaScript响应用户操作的一种处理方式,而事件处理是JavaScript响应用户操作所调用的程序代码。

12.2.1事件驱动在多年以前,计算机程序通常是以批处理的模式运行。

所谓批处理,就是开发者事先写好一些代码,再将这些代码一次运行。

这种处理方式有点类似于通过HTML代码直接编写的网页。

浏览器只是将HTML代码逐行解析,并显示在浏览器窗口。

后来,在批处理模式中,开发者可以加入一些特定的代码,在程序批处理期间,可以停下来等待用户输入一些信息,并根据用户输入的信息来判断和执行某个程序分支,这就使程序有了初步的交互性。

随着鼠标、触摸屏等设备的出现,批处理时代就逐渐远去,取而代之的是事件驱动的时代。

当然,批处理也还能使用,只是使用的范围和频率比事件驱动要少得多。

以鼠标为例,在事件驱动中,用户可以使用鼠标单击等方式进行操作,程序则根据鼠标指针的位置以及单击的方式进行响应。

JavaScript使用的就是这种事件驱动的程序设计方式。

在JavaScript中,事件(Even)包括以下两个方面:● 用户在浏览器中产生的操作是事件,如单击鼠标、按下键盘上的键等。

● 文档本身产生的事件,如文档加载完毕、卸载文档等,都是事件。

12.2.2事件处理在JavaScript中,浏览器会使用事件来通知JavaScript程序响应用户的操作。

事件的类型有很多种,如鼠标事件、键盘事件、加载与卸载事件、得到焦点与失去焦点事件等。

在事件产生的时候,浏览器会调用一个JavaScript程序来响应这个事件,这就是JavaScript的事件处理方式。

要想让浏览器可以调用合适的JavaScript程序,就必须要做到以下 3点:(1)设置HTML文档中响应事件的元素。

在一个HTML文档中,并非所有元素都会去响应事件。

就鼠标单击事件而言,一般在HTML文档的正文不会响应该事件,但在按钮中一般都会响应该事件。

(2)设置元素响应事件的类型。

在确定了哪些元素响应事件之后,要设置该元素响应事件的类型。

例如,一个按钮通常会响应鼠标单击事件(click事件),而一个下拉列表框通常会响应选项变化事件(change事件)。

在同一个元素中,也可以响应多个事件。

例如,一个超链接,在鼠标移动到该超链接上时,可以响应鼠标移动到对象上事件(mouseover事件),当鼠标从超链接上移开时,又可以响应鼠标移开事件(mouseout事件)。

(3)设置响应事件的程序。

为了让浏览器可以响应事件,必须要设置响应事件的程序。

例如一个按钮被单击时,浏览器会响应这个click事件,此时浏览器就会在JavaScript中寻找一个合适的程序,并运行该程序。

这个程序可以是用户自定义的函数,也可以是一段JavaScript代码,还可以是JavaScript内置对象的方法等。

看看这个更详细

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)第一种方法需要括号,第二、三种不需要。

完整代码:

你可能想看:
« 上一篇
下一篇 »

相关推荐

FreeBasic:强大免费开源的64位basic编译器及应用优势

2025年05月10日

82阅读

脊柱侧弯矫正方法大盘点:运动康复、支具矫正等多种方式

2025年05月09日

87阅读

如何在winForm标题栏去掉标题文字且任务栏图标正常显示

2025年05月09日

86阅读

十一黄金周促销广告词大全,国庆购物狂欢等你来

2025年05月09日

78阅读

关闭快速编辑模式及插入模式,设置控制台指定文字颜色举例

2025年05月09日

63阅读

黄金搭档低糖高钙饮品包装及成分功效全解析,适合人群要知晓

2025年05月09日

91阅读