我输入时为什么不能清空textarea?

时间:2013-06-18 14:55:53

标签: javascript jquery textarea

我只是在这个链接中设置了一个jsFiddle,问题是我将textarea清空了一行换行,我再也看不到占位符了,我总是有一条断线就在那里看到这个小提琴

http://jsfiddle.net/W5WE8/

我的HTML:

<script src="http//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<textarea id="mytextarea" rows="15" cols="80" placeholder="write something and press enter"></textarea>

这是我的JS:

$('#mytextarea').keydown(function(e) {
        if (e.keyCode == 13) {
            $('#mytextarea').val('').focus();
        }
    });

3 个答案:

答案 0 :(得分:4)

简单地阻止事件的默认行为(即将回车放入textarea),例如:

$('#mytextarea').keydown(function(e) {
    if(e.keyCode == 13) 
    {
        e.preventDefault();
        $('#mytextarea').val('').focus();
    }
});

请参阅此updated jsFiddle

答案 1 :(得分:4)

您需要阻止keydown的默认行为。如下所示:http://jsfiddle.net/lnrb0b/W5WE8/2/

$('#mytextarea').keydown(function (e) {
    if (e.keyCode == 13) {
        e.preventDefault();
        $('#mytextarea').val('').focus();
    }
});

希望有所帮助:)

答案 2 :(得分:1)

发生这种情况的主要原因是因为输入键。这将在你做你需要的之前添加一个断行。

按照其他答案中的建议阻止事件传播。