上篇不完整的介绍了一事件模拟机制(诱发是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下载