編集可能な 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>