【问题标题】:jQuery - on enter key submit text - line break still inserted into textareajQuery - 在输入键上提交文本 - 换行符仍然插入到 textarea
【发布时间】:2012-05-03 21:12:03
【问题描述】:

按下回车键后,我在从文本区域发布一些文本时遇到了一个小问题。

输入的文本被附加到一个具有整洁效果的 div 中,然后输入的文本从 textarea 中删除,一切正常。但是,当您按 Enter 时,实际上仍会在文本区域中插入换行符,然后添加和删除文本。所以一瞬间你可以看到添加了换行符,这看起来一点也不好看。

如何防止插入换行符?

谢谢! 丹尼斯

更新:

这里有一些代码。我使用keyup。

$('#postDiv').on('keyup', '#posttext', function(e) {
    if ((e.which == 13) && !event.shiftKey) {
        post($(this));
    }
});

【问题讨论】:

  • 您是附加到 keyup 还是 keydown 事件?贴一些代码。

标签: jquery line-breaks


【解决方案1】:
$('#postDiv').on('keydown', '#posttext', function(e) {
    if ((e.which == 13) && !event.shiftKey) {
        post($(this));
        return false
    }
});

注意对keydown的更改,以阻止默认操作

【讨论】:

  • 这是你想去的地方:)
  • @paulslater19 哦,但你为什么返回 false?
  • @Dennis return false 将阻止 line break 插入到您的文本区域中。
  • 它将阻止插入新行。我认为同样可以通过e.preventDefault() 完成。 return false 也停止传播(即事件冒泡 DOM)。但你可能不必太担心它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-07
  • 1970-01-01
  • 1970-01-01
  • 2010-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多