-2

私は現在、java/jsp で書かれた Web のコンテンツ管理システムに取り組んでいます。ユーザーがhtmlのページを編集したいときはいつでも、ユーザーがhtmlのインデント形式を維持できることを願っています。したがって、今のところ私の問題は、ユーザーがタブキーを押すたびに、インデントを挿入する代わりに別のフォーム要素またはリンクにジャンプすることです。

たとえば、ユーザーが次のように入力できるようにしたい (スペース キー、  &thinsp、&ensp、または &emsp を使用せずに):

<table>
     <tr>
         <td></td>
     </tr>
</table>

このような代わりに:

<table>
<tr>
<td></td>
</tr>
</table>

これを克服できるコードはありますか?(ブラウザに依存しないようにしたいので、プラグインの使用を避けようとしています:D)

前もって感謝します!

4

1 に答える 1

1
$(document).delegate('#textbox', 'keydown', function(e) {
    var keyCode = e.keyCode || e.which;

    if (keyCode == 9) {
        e.preventDefault();
        var start = $(this).get(0).selectionStart;
        var end = $(this).get(0).selectionEnd;

        // set textarea value to: text before caret + tab + text after caret
        $(this).val($(this).val().substring(0, start)
            + "\t"
            + $(this).val().substring(end));

        // put caret at right position again
        $(this).get(0).selectionStart =
        $(this).get(0).selectionEnd = start + 1;
    }
});

http://jsfiddle.net/jz6J5/

于 2013-10-11T06:24:43.373 に答える