在我的页面中有一个按钮和一个文本框。
最初我点击按钮调用一个函数。现在我也想通过按 Enter 键来实现它。但它没有用。按 Enter 键无法到达myFunction。
<script type="text/javascript">
$(document).ready(function () {
$("#txt1").keyup(function (event) {
if (event.keyCode == 13) {
$("#btn1").click(myFunction);
}
});
$('#btn1').click(myFunction);
});
function myFunction() {
// do something, press enter key doesn't reach here.
})
}
</script>
答案 0 :(得分:4)
你几乎是对的:只需使用.click()
或.trigger('click')
$(document).ready(function () {
$("#txt1").keyup(function (event) {
if (event.which== 13) {
$("#btn1").click(); // Just do a click.
}
});
$('#btn1').click(myFunction); //Your handler is already registered here.
});
function myFunction() {
// do something, press enter key doesn't reach here.
}
在jquery事件处理程序中使用 event.which 而不是event.keyCode
,因为它会标准化event.keyCode
和event.charCode
。
答案 1 :(得分:1)
而不是
$("#btn1").click(myFunction);
我建议使用:
$("#btn1").on("click", function () {
myFunction();
});
然后:
if (event.keyCode == 13) {
$("#btn1").click(); //click the button
}