javascript - 如何防止或停止增加 jQuery 中文本区域的大小?

标签 javascript jquery

你能告诉我如何防止或停止增加 jQuery 中文本区域的大小吗?

我制作了一个演示,其中用户仅按 8 个回车键和 700 个字符,但是当用户首先按 7 个回车键然后开始编写文本时,我的逻辑失败。它出现在下一行,并且尺寸开始增加。当用户输入文本时,我想停止增加该 div 的大小。换句话说,如果用户键入高度,它不会增加大小并停止写入。

http://jsfiddle.net/4WKgQ/1/

$(function() {
    var enterCounter = 0;
    var charCounter = 0;
    $(".myDiv").keypress(function(event) {
        var text = $(".myDiv").text();
        if(text.length == 700) {
            alert("Too many characters");
            $(".myDiv").text($(this).text().substr(0, 700));
        };
        if(event.keyCode == 13) {
            enterCounter += 1;
        };
        if(event.keyCode == 13 && enterCounter >=8) {
            event.preventDefault();
        };
    });
});

谢谢

最佳答案

您需要检查

if (text.length >= 700)

而不是

if (text.length == 700)

因为在复制/粘贴第一种情况下很可能会失败

您可以将 onContextMenu="return false;" 属性添加到您的 div 中,以避免鼠标右键单击复制/粘贴。

此外,用户还可以拖放文本。这意味着 .keypress 还不够。

关于javascript - 如何防止或停止增加 jQuery 中文本区域的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23126165/

相关文章:

javascript - 如果超时,Jquery 禁用切换 div

javascript - jQuery 或 JavaScript 在不知道需要删除的确切类名的情况下从元素中删除特定类

javascript - 隐藏更高级别的 div

javascript - 如何让 Visual Studio 2005 在脚本资源管理器中显示正在运行的 JavaScript 文件?

javascript - 我怎样才能让一条消息位于 html 之上?

jquery 迭代子元素

java - 使用 Web 应用程序更新客户端计算机

javascript - 从着色器读取数据

javascript - 如何使用javascript更改鼠标光标而不将鼠标悬停在元素上?

javascript - jqGrid searchOperator 清除工具栏后显示错误的运算符