我很难完成这项工作并了解如何通过在Javascript中按Enter来调用特定按钮。
例如我有
$(document).ready(function () {
$('#myText').keyup(function () {
alert(e.keyCode);
});
$('#myButton').button().click(function () {
alert('Button click 1!');
});
$('#myButton2').button().click(function () {
alert('Button click 2!');
});
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<form action="#">
<button id="myButton">Button</button>
<button id="myButton2">Button2</button>
<input type="text" id="myText" />
</form>
当我在Mytext值中按Enter键时如何制作它点击myButton2?
样本: http://jsfiddle.net/WZ6TM/610/
更新:
以下答案没有按预期工作,请参阅我的代码结构:
$(document).ready(function () {
$('input#manualuser').keyup(function(e) {
if (e.keyCode === 13) $('#search').click();
});
$('#search').click(function search() {
if ($("input#manualuser").val() === '') {
$('#infostatus').html("<label id='infostatus' class='info'>Please Enter Username</label>");
}
else {
$.ajax({
url: "https://" + $seldom + ":443/api/example/" + $("input#manualuser").val(),
type: "GET",
dataType: 'Jsonp',
success: function (result) {....
答案 0 :(得分:1)
问题是按Enter键(keydown事件)的默认操作是'激活'焦点项(实际上是button1)。您需要防止默认值。然后按照以下方式自定义您的活动。
这里的代码段
http://jsfiddle.net/WZ6TM/637/
$(document).ready(function () {
$('#myText').keydown (function(e) {
if(e.which == 13) {
e.preventDefault();
}
});
$('#myText').keyup(function (e) {
e.preventDefault();
if(e.which == 13) {
$("#myButton2").trigger('click');
}
});
$('#myButton').button().click(function () {
alert('Button click 1!');
});
$('#myButton2').button().click(function () {
alert('Button click 2!');
});
});
在示例中,如果您使用Enter关闭对话框,则会再次启动事件,因此请注意并且不要认为这是在循环或其他事情。它实际上是有效的,我希望你了解发生了什么。
干杯
答案 1 :(得分:0)
您需要抓住表单提交
$('form').submit(function(e){
e.preventDefault();
$('#mybutton2').click()
})
或者,你可以抓住$(&#39; body&#39;)。keyup()并用它做事。
答案 2 :(得分:-1)
我看到两种可能性。最简单的方法是挂钩提交事件:
$(document).ready(function () {
$('form').submit(function (e) {
e.preventDefault();
$('#myButton2').click();
});
$('#myButton').click(function () {
alert('Button click 1!');
});
$('#myButton2').click(function () {
alert('Button click 2!');
});
});
并更改标记,以便默认情况下不会提交按钮:
<form action="#">
<button type="button" id="myButton">Button</button>
<button type="button" id="myButton2">Button2</button>
<input type="text" id="myText" />
</form>
另一种方法是使用keydown并监听回车键。但是,我不建议使用这种方式,因为监听特定的密钥代码会使您的代码更难以推理。
http://jsfiddle.net/WZ6TM/644/ 编辑:提供小提琴