相关疑难解决方法(0)

是否可以通过编程方式模拟按键事件?

是否可以在JavaScript中以编程方式模拟按键事件?

javascript dom-events

342
推荐指数
16
解决办法
42万
查看次数

如何在JavaScript中模拟按键?

我正试图找到一种模拟按键的方法.

例如,当启动功能时,应按下"向下箭头"键,因此网页应略微滚动.

我只对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?
Run Code Online (Sandbox Code Playgroud)

我搜索并发现了以下相关问题,但解决方案对我不起作用:


换一种说法

使用AutoHotkey,您可以轻松地制作以下内容:

Down::
Send, {Up}
Run Code Online (Sandbox Code Playgroud)

然后,如果按Down箭头键,它将被触发Up.我只想用JS实现它.

javascript jquery events

20
推荐指数
2
解决办法
2万
查看次数

从文件中读取文本时强制调整大小

建议的副本是我得到这个问题的基础的问题,所以它不是重复的!事实上,我从一开始已经把这个问题联系起来了......


好的编辑:

我做了一个JSFiddle(我第一次:)).注意textarea如何不按照人们的意愿扩展.在textarea中键入内容,它会立即调整大小.

如果我们可以自动发送按键事件,它可能会工作......(这个相关问题没有帮助,答案没有效果).


我在这里使用textareaas as .然后,我从一个文件中读取并将内容放在文本框中,但它没有按原样调整大小.

我像这样更新文本框:

function updateTextbox(text) {
  $('#cagetextbox').val(text);
};
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

我在Ubuntu 12.04上使用firefox 34.0规范,如果它扮演一些角色,我希望不是这样,因为我的一些用户使用Chrome.


编辑:

尝试写这样的东西:

$('#cagetextbox').attr("rows", how many rows does the new text contain);
Run Code Online (Sandbox Code Playgroud)

请注意,如果我们试图找出textarea包含多少行文本,我们将得到1作为答案.


EDIT_2

也许是这样的width/(length_of_line * font_size).对于一些测试,它似乎是正确的,如果我减去1(当然只保留结果的整数部分).

javascript css debugging autoresize

7
推荐指数
1
解决办法
878
查看次数

标签 统计

javascript ×3

autoresize ×1

css ×1

debugging ×1

dom-events ×1

events ×1

jquery ×1