|
|
面冷心慈的花卷 · Interacting with code ...· 3 月前 · |
|
|
豪情万千的键盘 · Loading an html form ...· 3 月前 · |
|
|
怕老婆的跑步机 · 清华公管举办2020-2021学年春季学期助 ...· 2 年前 · |
|
|
文质彬彬的酸菜鱼 · 赖昌星家人近况:前妻曾明娜获百平房产,侄子赖 ...· 3 年前 · |
|
|
大鼻子的企鹅 · 生猪价格、成本略降 ...· 3 年前 · |
|
|
睿智的柠檬 · 介绍几个能下载中英文双语字幕电影的网站_we ...· 3 年前 · |
我在试着找到一种模拟按键的方法。
例如,当功能启动时,应该按下“向下箭头”键,因此应该稍微滚动网页。
我只对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();