为什么我不能在输入时清空文本区域?

Why can't I empty textarea when I enter?

本文关键字:清空 文本 区域 输入 不能 为什么      更新时间:2023-09-26

我刚刚在这个链接中设置了一个jsFiddle问题是我在文本区空了一个换行符之后就看不到占位符了我总是有一个换行符看到这个fiddle了吗

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();
        }
    });

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

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

希望有帮助

简单地阻止事件的默认行为(即在textarea中放置一个return),例如:

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

查看更新后的jsFiddle

发生这种情况的主要原因是回车键。这将在执行所需操作之前添加一个换行符。

防止其他答案中建议的事件传播