【问题标题】:Avoid new tabs on Ctrl+Enter(Click) in Opera在 Opera 中避免在 Ctrl+Enter(Click) 上出现新标签
【发布时间】: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


【解决方案1】:

您可以在 Opera 的设置中更改您的组合键:

Ctrl-F12 
-> Shortcuts
-> Keyboard Setup 
-> Edit 
-> Type 'background'
-> Edit or delete the desired key combination.

【讨论】:

  • 我已经试过了,它只适用于Enter shift ctrl,但不适用于ctrl+click。无法设置鼠标按钮的快捷方式。由于我们使用click() 事件来提交表单,它仍然会在ctrl+enter 上打开一个新的后台选项卡。
猜你喜欢
  • 2012-12-13
  • 2012-01-28
  • 2011-02-11
  • 2013-03-16
  • 2017-01-07
  • 1970-01-01
  • 1970-01-01
  • 2011-10-10
相关资源
最近更新 更多