实用JS系列——事件类型

      事件就是用户对窗口上各种组件的操作。JS中的事件中的事件即由访问Web页面的用户引起的一系列的操作。一般用于浏览器和用户操作进行交互,例如:用户的单击事件等。


类型分为:

内联模型、脚本模型和DOM2模型。

1、内联模型

先看两个内联模型的例子:

//示例1
    <input type="button" id="button1" value="Test" οnclick="alert('Hello World!')" />
或者利用函数
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script type="text/javascript" >
        function test() {
            alert("Hello World!");
        }
    </script>
</head>
<body>
    //示例2
    <input type="button" value="Test1" οnclick="test()" />
</body>
</html>

它是最传统的处理事件方法。

特点:

从上面两个例子中可以看到,虽然对于初学者来说,这种写法会很好理解功能实现,但html和JavaScript没有做到很好的分离。

2、脚本模型

脚本模型可以在js中处理事件,来解决内联模型带来的问题。

//获取对象
 var Obj = document.getElementById('testButton');
//单击事件
            Obj.onclick = function () {
                alert('Hello World!');
            }

       getElementById 根据ID获取对象,类似的还有getElementByTagName、getElementsByClassName等。用法类似,但要注意的是,id是唯一的,但class并不是唯一的。


3、DOM事件

     W3C 规范 在DOM 级别 1中并没有定义任何的事件,DOM 级别 2中已经提供了提供了一种更详细的更细致的方式以控制 Web 页面中的事件,最后,完整的事件是在2004年 DOM 级别 3的规定中才最终定案。

       在DOM事件中,我们可以为元素添加事件监听(addEventListener),当我们不再使用它时,可以将其移除(removeEventListener)

1)addEventListener

格式为:

element.addEventListener(<event-name>, <callback>, <use-capture>);
参数一 :event-name 事件名称或类型

参数二:callback 回调函数,会在事件触发的时候被调用。

参数三:use-capture 是否在捕获阶段被触发。

代码示例:

 var Obj = document.getElementById('testButton');
            Obj.addEventListener("click", function () {
                alert("Hello World! Dom2");
            }, false);

2)removeEventListener

格式为:

element.removeEventListener(<event-name>, <callback>, <use-capture>);

参数与addEventListener相同,用法也十分类似。

小结:

      有人说,事件是JavaScript应用跳动的心脏 。事件通常与函数配合使用,当事件发生时函数才会执行。当我们与浏览器中 Web 页面进行某些类型的交互时,事件就发生了。但在使用事件的时候,也要合理选择,这样才能在效率和结构上获得双赢。

常用javaScript事件归纳。 常用事件: 1.onclick 鼠标单击事件 通常在下列基本对象中产生: button(按钮对象) checkbox(复选框)或(检查列表框) radio (单选钮) reset buttons(重要按钮) submit buttons(提交按钮) 例如可通过下列按钮激活change()文件: 2.onLoad页面加载事件:当页面加载时,自动调用函数(方法)。注意:此方法只能写在标签之中! 3.onScroll窗口滚动事件:当页面滚动时调用函数。注意:此事件写在方法的外面,且函数名(方法名)后不加括号!例:window.onscroll=move; 4.onBlur失去焦点事件:当光标离开文本框是触发调用函数。 当text对象或textarea对象以及select对象不再拥有焦点、而退到后台时,引发该文件,他与onFocas事件是一个对应的关系。 5.onFocus事件:光标进入文本框时触发调用函数。 当用户单击Text或textarea以及select对象时,产生该事件。 6.onChange事件:文本框的value值发生改变时调用函数。当利用text或textarea元素输入字符值改变时发该事件,同时当在select表格项中一个选项状态改变后也会引发该事件。例: 7.onSubmit事件:属于表单元素,写在表单标签内。语法:onSubmit=”return 函数名()” 8.onKeyDown事件:在输入框中按下键盘上的任何一个键时,都会触发事件,调用函数。注意:此事件写在方法的外面,且函数名(方法名)后不加括号!例:document.onkeydown=函数名()。 9.setTimeout(“函数名()”,间隔时间(以毫秒为单位)); 10.clearTimeout(对象) 清除已设置的setTimeout对象 鼠标相关事件: 1.onMouseOver:鼠标移动到某对象范围的上方时,触发事件调用函数。注意:在同一个区域之内,无论怎样移动斗志触发一次函数。 2.onMouseOut:鼠标离开某对象范围时,触发事件调用函数。 3.onMouseMove: 鼠标移动到某对象范围的上方时,触发事件调用函数。注意:在同一个区域之内,只要一动一次就出发一次事件调用一次函数。 4.onmouseup 当鼠标松开 5.onmousedown 当鼠标按下键 document对象常用的方法: 1.document.getElementById():通过id获得唯一的一个HTML元素,没有id时,通过name查找 2.document.getElementByName():获取相同名称的一组元素。主要用于表单中的复选框 Date对象常用方法: Var a=new Date(); //创建a为一个新的时期对象 y=a.getYear(); //y的值为从对象a中获取年份值 两位数年份 y1=a.getFullYear(); //获取全年份数 四位数年份 m=a.getMonth(); //获取月份值(0-11) d=a.getDate(); //获取日期值 d1=a.getDay(); //获取当前星期值 h=a.getHours(); //获取当前小时数 m1=a.getMinutes(); //获取当前分钟数 s=a.getSeconds(); //获取当前秒钟数
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值