上篇不完整的介紹了一事件模擬機制(誘發是simulate的翻譯,在
Professional JavaScript for Web Developers這本書的中文版中翻譯為模擬),后來找到了一個
jquery.simulate插件,對事件的模擬做了一個精簡的封裝。
先看看怎么使用:
<input type="text" id="txt1" name="" value="abc" />
<input type="button" id="btnSimulate" name="" value="Simulate" />
javascript:
$(function(){
$("#txt1").keyup(function(e){
alert(e.keyCode);
});
$("#btnSimulate").click(function(){
$("#txt1").simulate("keyup",{
keyCode:68
});
});
});
用btnSimulate的點擊事件能模擬txt1的keyup事件,uHHHm,還不錯。
第一個參數是事件類型
第二個參數是事件參數:默認為
{
bubbles: true, cancelable: (type != "mousemove"), view: window, detail: 0,
screenX: 0, screenY: 0, clientX: 0, clientY: 0,
ctrlKey: false, altKey: false, shiftKey: false, metaKey: false,
button: 0, relatedTarget: undefined
}
與標準的DOM Event事件屬性一致。
demo下載