事件分类:
鼠标、键盘、HTML
每个事件都对应一个事件函数,函数的名称是由 on+事件名 组成,如鼠标的click事件其事件函数为onclick、键盘的onkeyup、HTML的onload事件。
在JS中每个事件被触发时都会产生一个事件对象一般称作为event对象,它包含了所有与事件相关的信息包括导致事件的元素、事件类型等。在使用时我们可以直接收到这个对象。
例如:
input.onclick=function(evt){//接收event对象,不一定就要叫做event var e=evt || window.event; //window.event 是为了兼容IE浏览器 alert(e); }
那么当这些事件被触发之后要有怎样的响应要通过事件绑定来实现。
box.addEventListener('click', function () { alert('div'); }, true);
非IE的
第一个参数:事件名
第二个参数:触发事件做出的响应
第三个参数:true表示捕获,false表示冒泡
IE的
window.attachEvent('onload', function () { alert(‘Lee’); //当窗体加载后就输出‘Lee’ });
第一个参数:事件名
第二个参数:触发事件做出的响应
如果要兼容两大类型的浏览器可以自己写兼容函数封装到基础库中,在使用时直接调用进行添加和移除事件。
JS的事件总结的差不多了,在看相关的博客是看见米老师的一个问题“JS的事件处理和VB事件有什么关系?”这个结点自己没有意识到,知识网的编制意识还有待增强,那么下面就开始编制这个结点。
这是在vb.net中的一个事件处理。
Private Sub Button3_Click(sender As Object,e As EventArgs) Handles Button3.Click Dim A As New Customer A.Name = "TOM" MessageBox.Show(A.SayHello()) End Sub
这是在JS中的事件处理。
box.addEventListener('click', function () { alert('div'); }, true);
我们从相同点看
都是对一个对象的事件被触发之后做出响处理,从表面上就看不出其他的相同点,那么就看看他们的不同点。
在VB.net的事件处理中是有参数的sender和e,而JS中的function无论是否写参都可以获得隐藏的事件对象event。在VB中的e是EventArgs类型的。EventArgs是包含了事件数据的基类,而sender是Object类型的它表示的是被触发事件的对象。sender和e两者相加和JS中的event对象是异曲同工。最后不同点也变成了相同点。
比较之后没有发现什么不同,只是在JS中对事件对象的应用相对要多一些,而在vb.net中的应用比较少,更深入的比较还有待进一步进行。
小结
JS和vb都是基于对象的语言,对象包括事件、属性、方法。而对于事件处理不论是VB还是JS都是通过事件来对用户的操作做出处理,用户一定是通过鼠标或键盘来进行操作的这都会触发事件,然后通过事件处理完成用户的请求,都是事件驱动的。
原文地址:http://blog.csdn.net/yxflovegs2012/article/details/46503479