我正在使用 jQuery,我的 common.js 文件中有这段代码。
当用户在页面上的任意位置按下 enter 时,此代码会触发submit
or按钮。next
我为Cancel
和Submit
按钮使用了两个不同的 CSS 类,它们是.btn
类,所有Next
按钮都使用.back
该类。
此代码适用于 Internet Explorer、FireFox 和 Chrome。只有 Safari 让我很难受。当用户关注Cancel
并按下Enter
它时,它会提交表单而不是取消它。
有人对此有解决方案吗?我尝试了很多东西,但没有任何效果。
如果您有特定于 Safari 的解决方案或适用于所有浏览器的解决方案,请告诉我,因为现在我无法更改我的 JSP 代码。
先感谢您。
// Common.js
$("form *").live('keypress', function (e) {
if ($(this).parents('form').find('button[type=submit].btn, input
type=submit].btn').length <= 0) {
return true;
}
if ($(this).parents('form').find('textarea').is(":focus")) {
alert(' Function Call ');
return true;
} * * *
if ($(this).parents('form').find('.back').is(":focus")) {
return true;
} * * *
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
$(this).parents('form').find('button[type=submit].btn, input
[type=submit].btn').click();
return false;
}
});
// test.jsp
<div class="back-link">
<div class="back-btn-wrap">
<html:cancel styleClass="back" onclick="bCancel=true">cancel</html:cancel>
</div>
<div class="btn-wrap">
<html:submit styleClass="btn" property="submitNext"> Submit / Next</html:submit>
</div>
</div>