我正试图找到一种模拟按键的方法.
例如,当启动功能时,应按下"向下箭头"键,因此网页应略微滚动.
我只对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实现它.
建议的副本是我得到这个问题的基础的问题,所以它不是重复的!事实上,我从一开始就已经把这个问题联系起来了......
好的编辑:
我做了一个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(当然只保留结果的整数部分).