我在一个令人满意的div中有一个文本编辑器。
我需要更改[TAB]行为以插入空格或\ t而不是关注下一个元素,这是默认的浏览器行为。
我有一个像这样的事件处理程序:
function keyDown(e) {
// press tab.
if (e.keyCode == 9) {
e.preventDefault();
return;
}
}
导致不会失去对div的关注,我现在需要的是在光标位置插入一个[TAB]或空格。
怎么办呢?
答案 0 :(得分:2)
这样可以解决问题:http://jsfiddle.net/eFLGZ/
$('textarea').keydown(keyDown);
function keyDown(e) {
// press tab.
if (e.keyCode == 9) {
e.preventDefault();
// Insert a space.
var txt = $('textarea').val();
$('textarea').val(txt + ' ');
return;
}
}
请参阅here了解如何输入光标当前所在的文本。