Javascript jQuery终端&x2B;独自创立

Javascript jQuery终端&x2B;独自创立,javascript,jquery,twitter-bootstrap,jquery-terminal,Javascript,Jquery,Twitter Bootstrap,Jquery Terminal,我正在页面上使用带有引导的jQuery终端() 我正试图让终端处于模态中,我让模态的东西工作,我按下两个按钮打开模态 但是每当我加载页面时,我必须在按下按钮之前点击身体上的某个地方,否则什么都不会发生,我甚至不会对我的点击做出反应 我做错了什么 终端: $('#terminal').terminal(function(command, term) { if (command == 'help') { term.echo("available commands are sy

我正在页面上使用带有引导的jQuery终端()

我正试图让终端处于模态中,我让模态的东西工作,我按下两个按钮打开模态

但是每当我加载页面时,我必须在按下按钮之前点击身体上的某个地方,否则什么都不会发生,我甚至不会对我的点击做出反应

我做错了什么

终端:

$('#terminal').terminal(function(command, term) {
    if (command == 'help') {
        term.echo("available commands are system, test ");
    } 
});
我的情态:

<div class="modal" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h4 class="modal-title" id="myModalLabel">Terminal</h4>
      </div>
      <div class="modal-body">
        <div id="terminal"></div>
      </div>
    </div>
  </div>
</div>

航空站

显然,加载页面时,如果事先没有明确设置焦点,就无法从页面中捕获
Ctrl

您可以通过编程设置焦点,但无法获得“Ctrl”键。。。据我所知,这是加载页面时,在对页面执行操作之前,您唯一不能使用的键

你应该考虑改变你的键组合,或者强迫用户点击页面,例如,他必须承认的一个消息。


除此之外,您的代码正在工作。我看到的唯一缺陷是您关闭了两次。

这是一个老问题,但作为参考,在这个问题中,答案是,当引导模式显示时如何添加事件(您使用显示的事件)。所以你可以用这个:

$(document).ready(function() {
    var term = $('#terminal').terminal(function(command, term) {
        if (command == 'help') {
            term.echo("available commands are system, test ");
        } 
    }, {enabled: false});

    $('#myModal').on('shown', function() {
        term.enable();
    })
});

这是我创建的一个引导层,它似乎有问题,我不确定您的问题是什么,但这看起来根本不像终端。(js中的代码是teminal.min.js)我不知道我的错误是什么,但这就像是终端上的一些焦点或东西。我在这个页面上传了一个演示:-要打开终端,你需要按ctrl+shift,但是正如你所看到的,你必须在点击按键之前点击身体的某个地方,这可能是因为焦点在浏览器的地址栏上。。。你正面临一个长期的问题。。。您必须找到一种在加载后设置页面焦点的方法。如果我在这上面发现了什么,我会告诉你的。更新:你的问题是“ctrl”键。。。shift被捕获当我删除终端、命令并使用ctrl和shift在单击时发出警报时,它工作正常,我不需要单击任何地方。我上传了一个没有terminal@Tommy的演示,如果你仔细阅读
jquery.terminal-min.js
中的代码,你会发现有很多案例场景涉及ctrlKey和shiftKey。在文档完全绑定键盘之前发生的事情。你可以度过难关,但你正在进行一些严重的黑客攻击,这可能会导致功能的减少。我设法让它工作,但这涉及到评论可能100行代码,并将不得不写更多的代码,使其恢复正常工作后,再点击页面。。。不推荐,抱歉:(废话!我和制造终端的那个人谈过,他说我需要检查模态是否打开,然后启用终端,否则我必须禁用它!无论如何谢谢你的帮助!