按下输入时,我正在实施按键提交。我制作了一个jquery插件,我需要一些帮助:
jQuery.fn.enterPress = function(obj, button) {
if (e.which == 13) {
jQuery(button).click();
}
};
在此函数中,我检索obj(html表单)和按钮(将单击其中一个)。
我不确定,但我可能不需要这个“obj”。 我的问题是我没有'e'。我尝试了很多方法,但我不知道如何才能收回它。
我已经做到了:
jQuery('#' + obj.id).keypress(function(e) {}
但是这个功能被解雇了两次,有时是三次。
由于
答案 0 :(得分:1)
jQuery有一个内置的方法,用于称为按键。
$("#target").keypress(function(event) {
if ( event.which == 13 ) {
event.preventDefault();
// do stuff here
}
}
如果你想添加一个更通用的方法来将'enter'按键事件绑定到jQuery对象,然后单击一个按钮(正如你在问题和评论中提到的那样),你可以这样做:
var $button = jQuery('#somebutton');
jQuery.fn.enterPress = function(callback) {
jQuery(this).keypress(function(event) {
if ( event.which == 13 ) {
event.preventDefault();
callback();
}
});
};
$button.click(function(){
alert('button was clicked');
})
jQuery('#target').enterPress(function() {
// what you want to happen after enter is pressed
$button.click();
});
答案 1 :(得分:0)
此代码在点击“13 keyCode”==“Enter”
时发送表单$(document).ready(function(e){
$(document).keypress(function(e){
if(e.keyCode == 13)
$("#myFOrm").submit();
});
});
答案 2 :(得分:0)
return
密钥已经绑定提交HTML表单,但是这里是你如何使用各种方法监听keypress事件:
常规JavaScript:
document.getElementById('yourFormId').addEventListener('keypress', function(e) {
if(e.keyCode === 13)
document.getElementById('yourButtonId').click();
}, false);
常规JavaScript:
document.getElementById('yourFormId').onkeypress = function(event) {
if(event.keyCode === 13)
document.getElementById('yourButtonId').click();
};
或jQuery:
$('yourFormId').keypress(function(event) {
if(event.which === 13)
$('yourButtonId').trigger('click');
});