当人工交互失败时,问题就缺失了:用户在终端和编辑器上徘徊,直到他退出页面。我想在" hoved"上设置.focus()。 element和.blur()to" not hoved"元件。到终端,工作正常,机器人ace编辑器无法集中注意力。我无法在编辑器上推出一些字符。
显然jquery在这里不起作用:
$('#terminal').hover(function(){
TermGlobals.setFocus(true);
}, function(){
TermGlobals.setFocus(false);
})
$('#coffee_editor > textarea').hover(function(){
window.editor.focus();
}, function(){
window.editor.blur();
})
有人清楚地知道为什么它不能正常工作?
感谢您的一切
我记得RTFM
7.2 TermGlobals.keylock (Global Locking Flag)
The global flag `TermGlobals.keylock' allows temporary keyboard locking without any
other change of state. Use this to free the keyboard for any other resources.
(added in v.1.03)
所以我在jsfiddle中添加了以下内容:
$('#terminal').hover(function () {
TermGlobals.keylock = false;
term.focus();
}, function () {
TermGlobals.setFocus(false);
});
$('#coffee_editor').hover(function () {
TermGlobals.keylock = true;
window.editor.focus();
}, function () {
window.editor.blur();
});
奇怪的是jsfiddle无法正常工作,但在my project工作得很好。我正在运行一个Rails服务器,而jsfiddle在<iframe>
内运行;为什么这种差异在工作?
答案 0 :(得分:1)
ace并没有将任何可见的textarea附加侦听器添加到容器元素中。
$('#coffee_editor').hover(function(){
window.editor.focus();
}, function(){
window.editor.blur();
})