用于模拟按键的Jquery脚本按下不运行键盘快捷键 [英] Jquery script for simulated key press down not running keyboard shortcut
问题描述
我想提前感谢您花费的时间和精力。好的,所以我有一个脚本,应该在页面加载后3秒后模拟按键事件。我打算让这个按键运行键盘快捷键,但只需按键即可。一旦按下,我怎么能让它实际运行快捷方式?不确定这是否可行。再次感谢。
Id like to give thanks in advance for any time and effort spent on this. Ok so I have a script thats supposed to simulate a key press down event after 3 seconds once the page is loaded. I inteded for this keypress to run a keyboard shortcut but all it does it just press the key. How can i get it to actually run the shortcut once pressed? Not sure if this is even possible. Again thanks.
<script>
setTimeout( function(){
// jQuery plugin. Called on a jQuery object, not directly.
jQuery.fn.simulateKeyPress = function(character) {
// Internally calls jQuery.event.trigger
// with arguments (Event, data, elem). That last arguments is very important!
jQuery(this).trigger({ type: 'keypress', which: character.charCodeAt(0) });
};
jQuery(document).ready( function($) {
// Bind event handler
$( 'body' ).keypress( function(e) {
alert( String.fromCharCode( e.which ) );
console.log(e);
});
// Simulate the key press
$( 'body' ).simulateKeyPress('z');
});
}, 3000); //3 seconds
</script>
<script type="text/javascript">
// define a handler
function doc_keyUp(e) {
// this would test for whichever key is 40 and the ctrl key at the same time
if (e.ctrlKey && e.keyCode == 122) {
// call your function to do the thing
pauseSound();
}
}
// register the handler
document.addEventListener('keyup', doc_keyUp, false);
</script>
推荐答案
如果您尝试触发某些浏览器或系统宽键盘快捷键然后它是一个死胡同 - 出于安全原因无法完成。如果有可能的话,你会在互联网上有一些页面(例如)将它们自己添加到你的书签中,甚至不用询问(通过使用Javascript触发CTRL + B快捷键)。
If you're trying to fire some browser or system wide keyboard shortcut then it's a dead end - it can't be done for security reasons. If it would be possible, you would have pages all over the Internet that would (for example) add themself to your bookmarks without even asking (by firing CTRL+B shortcut using Javascript).
这篇关于用于模拟按键的Jquery脚本按下不运行键盘快捷键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!