Javascript 如何在执行某个操作后自动触发enter键按下事件?
我正在我的web应用程序中编写一些单元测试,我想在单击“下载到文本文件”按钮后,从我的页面自动触发一个Enter键按下事件。如何在jQuery或Javascript中实现这一点?如果您说的是自动输入Enter键以触发Javascript 如何在执行某个操作后自动触发enter键按下事件?,javascript,jquery,html,Javascript,Jquery,Html,我正在我的web应用程序中编写一些单元测试,我想在单击“下载到文本文件”按钮后,从我的页面自动触发一个Enter键按下事件。如何在jQuery或Javascript中实现这一点?如果您说的是自动输入Enter键以触发提交事件,您可以使用以下方法: $("#formID").submit(); 要在按下按钮后触发此事件,请尝试以下操作: $("#buttonID").click(function() { $("#formID").submit(); // submits form })
提交事件,您可以使用以下方法:
$("#formID").submit();
要在按下按钮后触发此事件,请尝试以下操作:
$("#buttonID").click(function() {
$("#formID").submit(); // submits form
});
创建一个变量,告诉我们用户是否单击了按钮
var clicked = false;
将事件侦听器添加到按钮中,这样当用户单击它时,clicked
变量将变为true
myButton.addEventListener('click', function(){
clicked = true;
});
添加一个按键
事件侦听器:
document.addEventListener('keypress', function(e) {
// `e` is the event
});
在该事件侦听器中,检查用户之前是否单击过
if(clicked) {
// ...
}
如果他这样做了,检查按下的键。Enter的键代码是13
var keynum = e.keyCode||e.which;
if(keynum == 13) {
// ...
}
如果按下的键是enter,则使用
clicked = false;
否则,一旦用户单击您的按钮并按下enter键,就没有必要再次单击该按钮
然后运行代码。例如,这将在2秒钟后调用函数f
setTimeout(f, 2000);
现场演示
var=false;
document.querySelector(“#btn”).addEventListener('click',function(){
单击=真;
log(“您单击了按钮。`clicked`现在是`true`”);
});
文档.添加的文本列表器('keypress',函数(e){
如果(单击){
var keynum=e.keyCode | | e.which;
如果(keynum==13){
单击=假;
log(“`clicked`现在是`false`。等待2秒…”);
设置超时(f,2000);
}
}
});
函数f(){
log(“函数`f`已成功执行!”);
}
#btn{
边框:3倍纯红;
光标:指针;
}
单击我,然后按enter键。
如果我没弄错你的问题,
这就是你要找的
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).keydown(function(event){
if(event.keyCode == 13){
alert("keypressed");
}
});
function clickevent()
{
var e = $.Event("keydown");
e.which = 13;
e.keyCode = 13;
$(document).trigger(e);
}
</script>
</head>
<body id="thebody">
<input type="button" onclick="clickevent()" value="click me first">
</body>
</html>
$(文档).keydown(函数(事件){
如果(event.keyCode==13){
警报(“按键”);
}
});
函数clickevent()
{
变量e=$.Event(“键控”);
e、 其中=13;
e、 keyCode=13;
美元(文件)。触发器(e);
}
我想在单击按钮后触发它。顺便说一句,我正在使用超链接标记。我想在单击链接后执行此操作。:)我试试这个。你能解释一下代码里发生了什么吗。我不是java脚本专家,所以我不知道window.clicked或window.onclick。是否可以等待一定的时间?我想在2秒钟后触发它,因为我正在等待文件下载窗口。:)我很惊讶我的这个可怕的老答案得到了5张赞成票,甚至还有不必要的全局变量。更新了它,至少现在代码看起来更好了。但我仍然不相信它能回答问题。别担心,它能回答问题D您需要在鼠标点击事件后触发按下ENTER键吗?您得到的答案是相同的,这可以通过JavaScript实现吗?这更好地用于测试目的。
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).keydown(function(event){
if(event.keyCode == 13){
alert("keypressed");
}
});
function clickevent()
{
var e = $.Event("keydown");
e.which = 13;
e.keyCode = 13;
$(document).trigger(e);
}
</script>
</head>
<body id="thebody">
<input type="button" onclick="clickevent()" value="click me first">
</body>
</html>