我有一个Web应用程序,在网页旁边包含许多tinymce个编辑器。我的网络用户希望在按下alt + shift时将文本对齐到右侧。这是我实施的代码:
var regularElements = ['objs', 'mats', 'procs', 'clos', 'homs'];// ids of textareas
// initialization of tiny mce editors from ids
// .........
function handleKeyDown(e) {
var ctrlPressed = 0;
var altPressed = 0;
var shiftPressed = 0;
var evt = (e == null ? event : e);
shiftPressed = evt.shiftKey;
altPressed = evt.altKey;
ctrlPressed = evt.ctrlKey;
self.status = ""
+ "shiftKey=" + shiftPressed
+ ", altKey=" + altPressed
+ ", ctrlKey=" + ctrlPressed
if (shiftPressed && altPressed)
{
$.map(regularElements, function(regularElement, i) {
tinymce.get(regularElement).formatter.apply("alignright")
})
}
return true;
}
$("body").keydown(function(e) {
handleKeyDown(e);
});
问题在于,当用户按下alt + shift时,响应正确对齐的编辑器是光标访问的用户(用户点击内容)至少一次,即:
如果页面中的光标只访问 objs 和匹配编辑器,则 objs 和 mats 是唯一能够在alt + shift上进行正确对齐的编辑器。其余的不!!
对这个问题有任何想法吗?