【发布时间】:2012-10-18 20:54:21
【问题描述】:
有很多网站使用 Ctrl+Enter 来发送 Web 表单。 但在 Opera 中,由于 11.50 build 1018,此热键将表单发送到新的后台选项卡。
Opera Next (12.50) 甚至会打开几个新的背景标签!
示例代码如下所示:
<form method="post" id="form">
<textarea id="text"></textarea><br /><br />
<input type="submit" value="submit" id="submit" />
</form>
<script type="text/javascript">
$(document).ready(function(){
$('#text').keypress(function(event){
if (event.ctrlKey && (event.which == 10 || event.which == 13)) {
event.preventDefault();
event.stopPropagation();
event.ctrlKey = false;
$('#submit').click();
}
});
$("#submit").click(function(event){
event.ctrlKey = false;
});
});
</script>
查看链接http://jsfiddle.net/8pYsv/
如何避免这种行为?作为 Opera 用户,而不是网站管理员。
Opera 中没有 CtrlClick 的配置选项,event.ctrlKey = false; 不起作用。
仅将 $("#submit").click() 替换为 $("#form").submit() 会有所帮助。
但是有很多网站不会只为 Opera 更改代码..
提前感谢您的帮助!
【问题讨论】:
-
我从来没有遇到过需要ctrl+enter才能提交的网站,你能举个例子吗?
-
嗯,这不是主要操作,只是提交表单的附加选项(快捷方式)。您仍然可以通过单击“提交”按钮来做到这一点。我看过很多俄语的例子,但现在不记得任何英语的例子了,抱歉。
标签: javascript tabs opera enter ctrl