如何在同一个if语句中创建click事件和按键?
现在我有:
if($('.test').is(':visible;)){
$('button').click(function(e){
..do something here
}else {
..do something here
});
.test是值字段,当用户输入值时,我希望他们能够点击回车键,而他们在此框中提交信息或使用按钮来执行此操作。这不是一种形式,它们都是div。
答案 0 :(得分:5)
因此,将逻辑放入一个通用函数中,并将其命名为click和keypress。
(function () {
function yourLogic () {
$(".out").text($(".yourInput").val());
}
$("button").on("click", yourLogic);
$(".yourInput").on("keyup", function (evt) {
if (evt.which===13) yourLogic();
});
}());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="yourInput" />
<button>Click</button>
<div class="out"></div>
或不使用常用功能并调用按钮上的click()事件。
$(".yourInput").on("keyup", function (evt) {
if (evt.which===13) $("#yourButton").trigger("click");
});
答案 1 :(得分:1)
如果您有表单,请绑定submit处理程序:
$("form").submit(function(e){
e.preventDefault();
// your event handler here
});
当您按Enter键提交表单时,以及同时单击“提交”按钮时,将触发此操作。
答案 2 :(得分:0)
你可以像这样使用它:
$("input").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
$("form").submit();
}
});
答案 3 :(得分:0)
或者只需点击背景
$(document).keypress(function(e) {
if(e.which == 13) {
$('button').trigger("click");
}
});
//if($('.test').is(':visible;)){
$('button').on("click",function(e){
alert("click or enter");
e.stopPropagation();
});
// }
// else {
// ..do something here
//}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<button>CLick me</button>
&#13;