是否有一个将apple-tab-space转换为 字符的库?

如果没有,您能建议一种有效的方法吗?

我在使用contenteditble div的代码编辑器时遇到了一些麻烦(nevermind)

最佳答案

尝试收听keydown,并将&nbsp;附加到<input>val():

$(function () {
    $('textarea').keydown(function (e) {
        var code = e.keyCode || e.which;
        if (code == '9') {
            $(this).val($(this).val() + '&nbsb;')
            return false;
        }
    });
});
在这里显示:http://plnkr.co/edit/GF80PSJPLiBOCPJINDuv?p=previewreturn false;是键(无双关),因为在输入中单击选项卡将固有地使用户前进到下一个输入。值得一提的是,这是预期的行为,因此在向用户介绍此功能时,请记住这一点。
更新:非jQuery示例
在我看来,您没有使用jQuery标记此问题,因此这也是常用的JavaScript解决方案:
window.addEventListener('load', function () {
    document.getElementsByTagName('textarea')[0].addEventListener('keydown', function (e) {
        var code = e.keyCode || e.which;
        if (code == '9') {
            this.value = this.value + '&nbsb;';
            e.preventDefault();
        }
    });
}, false);
在此处显示:http://plnkr.co/edit/QJc3Lt2TQGBo8CQqtESO?p=preview

08-25 11:03
查看更多