我有一个问题与JQM时,如果我按Enter键,它提交所有表单,而不是活动的,所以我写了此代码禁用所有的ENTER键形式:禁用所有表单的按键事件,但活动与js
但如何禁用所有形式的按键,但目前的?假设它有id =“activeOne”。所以我想工作回来为activeOne,但不是其他?谢谢
我有一个问题与JQM时,如果我按Enter键,它提交所有表单,而不是活动的,所以我写了此代码禁用所有的ENTER键形式:禁用所有表单的按键事件,但活动与js
但如何禁用所有形式的按键,但目前的?假设它有id =“activeOne”。所以我想工作回来为activeOne,但不是其他?谢谢
你可以试试这个。在每一个表单点击或按键事件中,只需将表单ID设置为一个变量,然后检查body
keypress
事件并相应地采取行动。
var currentFormId;
$('form').bind('click, keypress', function(){
currentFormId = this.id;
});
$('body').keypress(function (evt) {
//Enter key's keycode
if (evt.which == 13
&& !$(evt.target).closest("form").is('#'+currentFormId)) {
return false;
}
});
我不知道如果我的理解清楚,但是从我的理解下面的代码应该在这里做的伎俩,
DEMO - Enter键将只在第2个文本框。
$('body').keypress(function (evt) {
var activeElement = document.activeElement;
if ($(activeElement).closest('form').attr('id') == 'active') {
return true;
} else {
var charCode = evt.charCode || evt.keyCode;
if (charCode == 13 && !$(evt.target).is("textarea")) { //Enter key's keycode
return false;
}
}
});