坚强的骆驼 · 国家一二等水准测量规范gb/t12897-2 ...· 4 天前 · |
老实的电池 · 华南理工大学人才招聘网· 6 月前 · |
逃课的小虾米 · 索菲亚愿20亿元建新总部大楼,不愿在全球范围 ...· 6 月前 · |
含蓄的汽水 · 常喝酒可能真会“变笨”!一次过量饮酒对大脑影 ...· 7 月前 · |
高大的人字拖 · 《鬼灭之刃剧场版:无限列车篇》:TV系列上线 ...· 1 年前 · |
很酷的橡皮擦 · 收徒亿万返还:为师无敌世间漫画全集免费(下拉 ...· 1 年前 · |
我在试着找到一种模拟按键的方法。
例如,当功能启动时,应该按下“向下箭头”键,因此应该稍微滚动网页。
我只对Chrome感兴趣,jQuery和普通JS都合适。(普通的JS会更好)。
这是我尝试过的代码示例之一:
var e = $.Event("keydown", { keyCode: 40}); // 40 = down arrow
$("body").trigger(e);
// When I launch it the console, nothing happens. The page is not scrolled.
// May be I missed some obvious?
我搜索并找到了以下相关问题,但解决方案对我不起作用:
换句话说就是
使用AutoHotkey,您可以轻松地完成以下操作:
Down::
Send, {Up}
然后,如果您按
Down
箭头键,它将被触发
Up
。我只想用JS来实现它。
发布于 2016-02-07 03:59:56
正如@rfsbsb指出的那样: Jquery script for simulated key press down not running keyboard shortcut
如果你试图触发某个浏览器或系统范围的键盘快捷键,那么这是个死胡同--出于安全原因,这是不可能的。如果可能的话,你会在互联网上到处都有页面,这些页面甚至不需要询问就会自动添加到你的书签中(通过使用Javascript触发CTRL+B快捷方式)。
发布于 2016-02-04 18:03:04
使用 this answer ,我设法更改了一点代码,我想我得到了你想要的东西?
代码:
jQuery(document).ready(function($) {
$('body').keypress(function(e) {
if(e.which == '40')
$('body').animate({scrollTop: '100px'});
jQuery.fn.simulateKeyPress = function(character) {
jQuery(this).trigger({
type: 'keypress',
which: character
setTimeout(function() {
$('body').simulateKeyPress(40);
}, 1000);
发布于 2016-02-11 04:14:27
下面是一个从@Haring10的示例开始的示例:
https://jsfiddle.net/po33vfb4/4/
$('body').keydown(function(e) {
e.preventDefault();
e.stopImmediatePropagation();
老实的电池 · 华南理工大学人才招聘网 6 月前 |