-2

我有一个文本区域,当你按下制表符时,它会插入三个空格。这是代码:

<!doctype html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">                                </script>
        <style type="text/css">
            textarea {
                tab-size: 3;
            }
        </style>
    </head>
    <body>
        <textarea id="textarea"></textarea>
        <script>
            $(document).ready(function() {
                $("textarea").keydown(function(e) {
                    if (e.which === 9) {
                        e.preventDefault();
                        $(this).val += "\t";
                        alert("Tab pressed");
                    }
                });
            });
        </script>
    </body>
</html>

这段代码可以插入空格,但是当我取出警报时,它不起作用。

4

1 回答 1

2

val()是一个方法,而不是一个属性,所以试试:

var $this = $(this);
$this.val($this.val() + "\t");

小提琴

于 2013-09-22T18:58:08.440 回答