0

編集可能な div を使用していて、そこにタブ機能を実装したいのですが、機能しません。editable div の代わりに html textarea を使用すると、正常に動作します。以下のコードは、正常に機能するテキストエリア用です。

<textarea id="txt" style="height: 125px; overflow-y: scroll; resize: none">@Html.Raw(Model.data)</textarea>
$('#txt').keydown(function (e) {
    var keyCode = e.keyCode || e.which;
    if (keyCode == 9) {// 9 for tab key
        var start = $(this).get(0).selectionStart;
        $(this).val($(this).val().substring(0, start) + "\t" + $(this).val().substring($(this).get(0).selectionEnd));
        $(this).get(0).selectionStart = $(this).get(0).selectionEnd = start + 1;
        return false;
    }
});

しかし、編集可能な div を textarea の代わりに使用すると、機能しません。

<div id="txt" contenteditable="true" style="text-align: justify; overflow-y: scroll;">
    <p>@Html.Raw(Model.data)</p>
</div>
4

1 に答える 1

0
<div id="txt" tabindex="0" contenteditable="true" style="text-align: justify; overflow-y: scroll;"/>

div に atabindexを与えてフォーカスを取得します。

于 2013-10-30T14:16:09.140 に答える