我需要在按下回车键时执行按钮点击事件。
目前事件尚未解雇。
如果可能,请帮我解释一下语法。
$(document).on("click", "input[name='butAssignProd']", function () {
//all the action
});
这是我尝试在输入时触发点击事件。
$("#txtSearchProdAssign").keydown(function (e) {
if (e.keyCode == 13) {
$('input[name = butAssignProd]').click();
}
});
答案 0 :(得分:265)
试试这个......
$('#txtSearchProdAssign').keypress(function (e) {
var key = e.which;
if(key == 13) // the enter key code
{
$('input[name = butAssignProd]').click();
return false;
}
});
$(function() {
$('input[name="butAssignProd"]').click(function() {
alert('Hello...!');
});
//press enter on text area..
$('#txtSearchProdAssign').keypress(function(e) {
var key = e.which;
if (key == 13) // the enter key code
{
$('input[name = butAssignProd]').click();
return false;
}
});
});
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<textarea id="txtSearchProdAssign"></textarea>
<input type="text" name="butAssignProd" placeholder="click here">
</body>
</html>
答案 1 :(得分:24)
试试这个
$('#twitterSearch').keydown(function(event){
var keyCode = (event.keyCode ? event.keyCode : event.which);
if (keyCode == 13) {
$('#startSearch').trigger('click');
}
});
希望它可以帮到你
答案 2 :(得分:11)
$('#txtSearchProdAssign').keypress(function (e) {
if (e.which == 13) {
$('input[name = butAssignProd]').click();
return false;
}
});
我刚刚发现Submitting a form on 'Enter'全面涵盖了大部分问题。
答案 3 :(得分:5)
你快到了。这是你可以尝试的。
$(function(){
$("#txtSearchProdAssign").keyup(function (e) {
if (e.which == 13) {
$('input[name="butAssignProd"]').trigger('click');
}
});
});
我已使用trigger()
执行点击并将其绑定到keyup
{}} keydown
事件,因为click
事件实际包含两个事件,即mousedown
然后mouseup
。因此,要使用keydown
和keyup
来构建相同的内容。
这是Demo
答案 4 :(得分:3)
按下回车键时,您是否试图模仿按钮上的单击?如果是这样,您可能需要使用trigger
语法。
尝试更改
$('input[name = butAssignProd]').click();
到
$('input[name = butAssignProd]').trigger("click");
如果这不是问题,请尝试通过查看此帖中的解决方案再次查看您的密钥捕获语法:jQuery Event Keypress: Which key was pressed?
答案 5 :(得分:3)
另一个补充:
如果您动态添加输入,例如使用append()
,则必须使用jQuery on()
函数。
$('#parent').on('keydown', '#input', function (e) {
var key = e.which;
if(key == 13) {
alert("enter");
$('#button').click();
return false;
}
});
<强>更新强>
更有效的方法是使用switch语句。你也可能觉得它更干净。
<强>标记:强>
<div class="my-form">
<input id="my-input" type="text">
</div>
<强> jQuery的:强>
$('.my-form').on('keydown', '#my-input', function (e) {
var key = e.which;
switch (key) {
case 13: // enter
alert('Enter key pressed.');
break;
default:
break;
}
});
答案 6 :(得分:0)
只需在代码中包含preventDefault()函数,
$("#txtSearchProdAssign").keydown(function (e) {
if (e.keyCode == 13) {
e.preventDefault();
$('input[name = butAssignProd]').click();
}
});
答案 7 :(得分:0)
试试这个
<button class="click_on_enterkey" type="button" onclick="return false;">
<script>
$('.click_on_enterkey').on('keyup',function(event){
if(event.keyCode == 13){
$(this).click();
}
});
<script>
答案 8 :(得分:0)
keyup
比keypress
更好地获取输入内容。
答案 9 :(得分:0)
jQuery:“火”按钮单击事件使用Enter按钮按下 试试这个::
tabindex =“ 0” onkeypress =“ return EnterEvent(event)”
<!--Enter Event Script-->
<script type="text/javascript">
function EnterEvent(e) {
if (e.keyCode == 13) {
__doPostBack('<%=btnSave.UniqueID%>', "");
}
}
</script>
<!--Enter Event Script-->
答案 10 :(得分:0)
您可以使用此代码
$(document).keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
alert('You pressed a ENTER key.');
}
});
答案 11 :(得分:0)
$('#Search').keyup(function(e)
{
if (event.keyCode === 13) {
e.preventDefault();
var searchtext = $('#Search').val();
window.location.href = "searchData.php?Search=" + searchtext + '&bit=1';
}
});
答案 12 :(得分:-3)
现在这似乎是默认行为,所以它足以做到:
$("#press-enter").on("click", function(){alert("You `clicked' or 'Entered' me!")})
测试:Chrome 56.0和Firefox(开发版)54.0a2,均使用jQuery 2.2.x和3.x