javascript - JQuery Terminal term.echo 来自另一个函数?

标签 javascript jquery jquery-terminal

我正在尝试使用:http://terminal.jcubic.pl/

我希望能够从另一个函数调用 term.echo 以便能够将数据放入终端内,但我无法引用它。

下面是代码:

jQuery(document).ready(function($) {
    var id = 1;
    $('body').terminal(function(command, term) {
        if (command == 'help') {
            term.echo("available commands are mysql, js, test");
        } else{
          term.echo("entered: " + command);
        }

    }, {
        greetings: "Shell",
        onBlur: function() {
            return false;
        }
    });
});

如何从外部访问 term.echo,以便我可以通过单击按钮调用 term.echo 来添加数据?

最佳答案

最简单的方法是使用全局变量作为term对象的引用。在您的示例中,可能如下所示:

// global placeholder for term object
var terminal = null;

jQuery(document).ready(function($) {
    var id = 1;
    $('body').terminal(function(command, term) {

        // setting up global reference
        terminal = term;

        if (command == 'help') {
            term.echo("available commands are mysql, js, test");
        } else{
          term.echo("entered: " + command);
        }

    }, {
        greetings: "Shell",
        onBlur: function() {
            return false;
        }
    });
});

此代码的问题在于,它会在 document 上触发 ready 事件后加载终端,而您永远不确定何时会发生这种情况。

在 document.ready 触发后,您将可以在任何地方使用 terminal.echo('');

关于javascript - JQuery Terminal term.echo 来自另一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15715469/

相关文章:

javascript - AngularJS 指令中的设置模型为空

javascript - 启用/禁用带有虚拟文本区域的 Android 虚拟键盘

javascript - jquery终端提交命令而不按回车键

javascript - 期望脚本 : extra characters after close-brace while executing despite single quote marks

javascript - 控制莫里斯圆环图尺寸高度宽度

javascript - joomla 2.5 如何隐藏首页的文章

javascript - 在 jQuery 终端中的同一行上回显内容

php - 从 PHP 获取/过滤表行内容

javascript - jQuery 验证在按键时不触发

javascript - 在 fullcalendar.io 上重新渲染并删除所有事件