Javascript iPhone“;围棋;键盘按钮导致在发回前抛出错误
我有一个带有表单和多个提交按钮的网页,每个按钮都有不同的功能(清除表单、执行计算、添加另一个输入行等) 只有在iPhone上(在5和5s上都测试过,Opera和Chrome都测试过,所以不针对浏览器),当用户在文本框中输入文本并按下内置于本机iPhone键盘中的“Go”按钮时,会出现一个通用弹出窗口,上面只显示:Javascript iPhone“;围棋;键盘按钮导致在发回前抛出错误,javascript,jquery,ios,asp.net,iphone,Javascript,Jquery,Ios,Asp.net,Iphone,我有一个带有表单和多个提交按钮的网页,每个按钮都有不同的功能(清除表单、执行计算、添加另一个输入行等) 只有在iPhone上(在5和5s上都测试过,Opera和Chrome都测试过,所以不针对浏览器),当用户在文本框中输入文本并按下内置于本机iPhone键盘中的“Go”按钮时,会出现一个通用弹出窗口,上面只显示: http://myurl error 我已经将calculation按钮设置为表单提交的默认操作,当按下iPhone的“Go”按钮(相当于按键盘上的Enter键)时,会触发以下jQ
http://myurl
error
我已经将calculation按钮设置为表单提交的默认操作,当按下iPhone的“Go”按钮(相当于按键盘上的Enter键)时,会触发以下jQuery:
当您在提示符上单击“确定”时,将发生回发,并触发默认功能。没有什么看起来不对劲,其他一切都如期发生。我在按下按钮后使用了jQuery,所有的东西似乎都在正常触发,但这个错误不断出现
您对这里可能发生的情况有何想法,甚至对如何解决此错误有何建议
在所有其他浏览器和设备中,这不会发生。该错误仅出现在iPhone上 如果有人有同样的问题,我可以通过从jquery 1.9.1升级到2.1.0来解决这个问题,只针对网站的移动版本(2.1.0不支持IE8,所以我没有在全球范围内这么做)
该错误最终来自库本身,似乎是在更高版本中修复的错误。如果我单击按钮注释掉jQuery行,则不会触发错误。我仍然不知道为什么,但我至少已经缩小了范围。
var buttonKeys = { "EnterKey": 13 };
$(function () {
$("input[name*=ItemValue]").keypress(function (e) {
if (e.which == buttonKeys.EnterKey) {
var formValid = $('form').validate().form();
if (!formValid) { this.focus(); return false; }
var defaultButtonId = $('form').attr("defaultbutton");
$("#" + defaultButtonId).click();
return false;
}
});
});