事件是经常由客户的操作或者是通过浏览器的功能来触发的,使用JS在任意时刻也可以触发特定的事件。这次就来给大家说一下HTML里常用的事件思路
DOM中的事件模拟
在document对象上使用creatEvent()方法创建event对象。参数是要创建的事件类型的字符串。
DOM2:字符串都使用英文复数形式 DOM3:单数 UIEvents:UI事件(鼠标事件和键盘事件都继承自UI事件) MouseEvents:鼠标事件 MutationEvents:DOM变动事件 HTMLEvents:HTML事件 使用与事件有关的信息对其初始化 触发事件。使用dispatchEvent()方法,参数为触发事件的event对象。所有支持事件的DOM节点都支持这个方法
模拟鼠标事件
创建对象后返回的对象有一个initMouseEvent()方法,用于指定与该鼠标事件有关的信息。这个方法接收15个参数,分别与鼠标事件中每个典型的属性一一对应。var event=document.createEvent("MouseEvents");
event.initMouseEvent("click",true,true,document.defaultView,0,0,0,0,0,false,false,false,false,0,null);
btn.dispatchEvent(event);
模拟键盘事件
创建对象后返回的对象有一个initKeyEvent()方法。 DOM3规定,调用createEvent(“keyboardEvent”)就可以创建一个键盘事件。 在firefox中,调用createEvent(“keyEvents”)
在其他浏览器中,则需要创建一个通用的事件,然后再向事件对象中添加键盘事件特有的信息。var event=document.createEvent("Events");
event.initEvent(type,bubbles,cancelable);
event.view=document.defaultView;
...
textbox.dispatchEvent(event);
自定义DOM事件
自定义事件不是由DOM原生触发的,它的目的是让开发人员创建自己的事件。 创建新的自定义事件,可以调用createEvent(“CustomEvent”) 返回的对象有一个initCustomEvent()方法。
ie中的时间模拟
思路:先创建event对象,然后为其指相应的信息,然后触发 创建:document.createEventObject(),不接收参数,结果会返回一个通用的event对象。 手工添加所有信息。 在目标上调用fireEvent()方法。参数:事件处理程序名称和event对象,会自动为event对象添加srcElement和type属性
相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
相关阅读: