使用jQuery模拟Keypress
使用jQuery,如何在单击链接时模拟(触发?)KeyPress? 例如,当用户单击以下链接时:
Click Here
然后,通过单击链接,就好像他们按下键盘上的“空格键”一样。
像这样的东西,我假设:
$("#clickforspace").click(function(e) { e.preventDefault(); //... Some type of code here to initiate "spacebar" // });
关于如何实现这一点的任何想法?
来自jQuery的keypress事件意味着要做这种工作。 您可以通过将字符串“keypress”传递给.trigger()来触发事件。 但是更具体地说,您实际上可以传递jQuery.Event对象(将类型指定为“keypress”)并提供您想要的任何属性,例如键码是空格键。
http://docs.jquery.com/Events/trigger#eventdata
阅读上述文档以获取更多详细信息。
我相信这就是你要找的东西:
var press = jQuery.Event("keypress"); press.ctrlKey = false; press.which = 40; $("whatever").trigger(press);
从这里开始 。
你可以尝试这个SendKeys jQuery插件:
http://bililite.com/blog/2011/01/23/improved-sendkeys/
$(element).sendkeys(string)
在输入,textarea或contenteditable = true的其他元素的插入点处插入字符串。 如果插入点当前不在元素中,则会记住上次调用sendkeys时插入点的位置(如果插入点从不在元素中,则会附加到结尾)。
这有效:
var event = jQuery.Event('keypress'); event.which = 13; event.keyCode = 13; //keycode to trigger this for simulating enter jQuery(this).trigger(event);