我一直在寻找几个小时,但仍然无法解决。
所以我正在处理一个文本编辑器,我想要它,所以当他们按下'标签'键时,它会缩进文本,我选择的文本或光标文本前面的文字选择。我一直在寻找设计模式,我试图制作一个元素designMode,但你不能,除非我做错了。这是我的代码,它启动了我的简单编辑器
$(".code").click(function () {
$(".code").attr('contenteditable', 'true');
document.getElementById("code").designMode = "on";
});
然后是“标签键代码”
$(".code")
.keydown(function (e) {
var keyCode = e.keyCode || e.which;
if(keyCode == 9) {
e.preventDefault();
}
});
问题:您如何在信息中缩进,例如在texteditor中您可以缩进或发短信。 (我的关键事件没有解决,我没有任何问题)
这不是textarea或输入框,它只是一个可信的div
答案 0 :(得分:3)
所以我想通了,代码吼叫
$(".code").keydown(function(e)
{
e = e || window.event;
var keyCode = e.keyCode || e.which;
if (keyCode == 9)
{
e.preventDefault();
document.execCommand('styleWithCSS',true,null);
document.execCommand('indent',true,null);
}
});
答案 1 :(得分:0)
我假设$(“。code”)是一个textarea,事件发生在焦点和keydown时。
$(function(){
var c = $(".code");
c.keydown(function (e) {
e = e || window.event;
var keyCode = e.keyCode || e.which;
if(keyCode === 9) {
e.preventDefault();
$(this).val($(this).val().substring(0,$(this).get(0).selectionStart) + "\t" + $(this).val().substring($(this).get(0).selectionEnd));
}
});
});
示例: