Javascript jQuery-如何在另一个作用域中调用函数
我用这个: 我想输出一些东西,并且让输出成为一个超链接,当点击它时会输出其他东西Javascript jQuery-如何在另一个作用域中调用函数,javascript,jquery,Javascript,Jquery,我用这个: 我想输出一些东西,并且让输出成为一个超链接,当点击它时会输出其他东西 jQuery(document).ready(function($) { $('#terminal').terminal(function(cmd, term) { term.echo('\nClick this: <a onClick="javascript:terminal.exec(\'somethingelse\')">somethingelse
jQuery(document).ready(function($) {
$('#terminal').terminal(function(cmd, term) {
term.echo('\nClick this: <a onClick="javascript:terminal.exec(\'somethingelse\')">somethingelse</a>', {raw: true});
}, {
greetings: "Welcome!\n",
onInit: function(terminal) {
terminal.echo('Welcome!');
},
prompt: '> '
});
});
jQuery(文档).ready(函数($){
$('#terminal').terminal(函数(cmd,term){
echo('\n单击this:somethingelse',{raw:true});
}, {
问候语:“欢迎!\n”,
onInit:功能(终端){
terminal.echo('Welcome!');
},
提示:'>'
});
});
但是,
<a onClick="javascript:terminal.exec
您可以在JavaScript中定义onclick
处理程序:
<!-- In your HTML -->
<a class="trigger-terminal" href="#">Terminal</a>
// In your JavaScript in the scope of terminal
$('.trigger-terminal').click(function() { terminal.exec(); });
以下是与您的代码内联的两个建议:
// First suggestion
jQuery(document).ready(function($) {
$('#terminal').terminal(function(cmd, term) {
term.echo('\nClick this: <a onClick="javascript:terminal.exec(\'somethingelse\')">somethingelse</a>', {raw: true});
}, {
greetings: "Welcome!\n",
onInit: function(terminal) {
$('.trigger-terminal').click(function() { terminal.exec(); });
terminal.echo('Welcome!');
},
prompt: '> '
});
// Second suggestion
jQuery(document).ready(function($) {
$('#terminal').terminal(function(cmd, term) {
term.echo('\nClick this: <a onClick="javascript:terminal.exec(\'somethingelse\')">somethingelse</a>', {raw: true});
}, {
greetings: "Welcome!\n",
onInit: function(terminal) {
window.terminal = terminal;
terminal.echo('Welcome!');
},
prompt: '> '
});
});
//第一个建议
jQuery(文档).ready(函数($){
$('#terminal').terminal(函数(cmd,term){
echo('\n单击this:somethingelse',{raw:true});
}, {
问候语:“欢迎!\n”,
onInit:功能(终端){
$('.trigger terminal')。单击(函数(){terminal.exec();});
terminal.echo('Welcome!');
},
提示:'>'
});
//第二项建议
jQuery(文档).ready(函数($){
$('#terminal').terminal(函数(cmd,term){
echo('\n单击this:somethingelse',{raw:true});
}, {
问候语:“欢迎!\n”,
onInit:功能(终端){
window.terminal=终端;
terminal.echo('Welcome!');
},
提示:'>'
});
});
无法访问变量。还要注意终端是$(“#终端”)的属性
解决方案1
jQuery(document).ready(function($) {
$('#terminal').terminal(function(cmd, term) {
term.echo('\nClick this: '+$('<a></a>').text('somethingelse').on('click', function(){$('#terminal').terminal.exec();}), {raw: true});
}, {
greetings: "Welcome!\n",
onInit: function(terminal) {
terminal.echo('Welcome!');
},
prompt: '> '
});
});
jQuery(文档).ready(函数($){
$('#terminal').terminal(函数(cmd,term){
term.echo('\n单击此:'+$('').text('somethingelse')。在('click',function(){$('.#terminal').terminal.exec();})上,{raw:true});
}, {
问候语:“欢迎!\n”,
onInit:功能(终端){
terminal.echo('Welcome!');
},
提示:'>'
});
});
解决方案2
jQuery(document).ready(function($) {
$('#terminal').terminal(function(cmd, term) {
term.echo('\nClick this: <a onClick="javascript:$("#terminal").terminal.exec(\'somethingelse\')">somethingelse</a>', {raw: true});
}, {
greetings: "Welcome!\n",
onInit: function(terminal) {
terminal.echo('Welcome!');
},
prompt: '> '
});
});
jQuery(文档).ready(函数($){
$('#terminal').terminal(函数(cmd,term){
echo('\n单击this:somethingelse',{raw:true});
}, {
问候语:“欢迎!\n”,
onInit:功能(终端){
terminal.echo('Welcome!');
},
提示:'>'
});
});
动态编写,我希望它是正确的。但是想法就在那里。用JavaScript而不是内联HTML处理onclick
,并在代码中定义函数的地方定义它。它都在该函数中:$('#terminal')。terminal(函数(cmd,term){
那该如何工作呢?这两个似乎都没有任何作用。没有任何错误。更新在您提供的代码中嵌入了解决方案。terminal
是$(“#terminal”);
的属性,它本身不作为引用存在。即:$(#terminal')。terminal
现在工作了。谢谢。)正因为如此,这个签名$('#terminal').terminal(函数(cmd,term){
也许您应该使用term而不是terminal,但这与您的库文档有关,对吗?
jQuery(document).ready(function($) {
$('#terminal').terminal(function(cmd, term) {
term.echo('\nClick this: <a onClick="javascript:$("#terminal").terminal.exec(\'somethingelse\')">somethingelse</a>', {raw: true});
}, {
greetings: "Welcome!\n",
onInit: function(terminal) {
terminal.echo('Welcome!');
},
prompt: '> '
});
});