3
4

1 回答 1

6

您不能只设置 a 的某些部分的样式textarea,但可以使用contenteditable来实现。您应该做的是创建一个标准 div(将其设置为 textarea)并使该内容可编辑。然后在div中放一个onkey事件,检查长度是否大于140。如果是get text,切片,超出部分应用html。

请注意,您想要获取文本内容element.textContent并将 html 写入element.innerHTML.

您应该做的另一件事是处理粘贴事件,因为默认情况下浏览器会复制 html,因此它们会弄乱您的 contenteditable。

编辑:如果您必须以某种形式使用它,您需要一个textarea或一个input hidden存储 div 内容并发送请求的位置。

为此,您可以在 jquery 中执行以下操作:

$('#form').submit(function(e) {
    var input = $('#inputdiv').text();
    if(input.length <= 140) {
        $('#formtextarea').val(input);
        return true;
    }
    return false;
});

或者你可以用ajax来做到这一点。

function sendStuff() {
    $.post("test.php", { message: $('#inputdiv').text()})
    .done(function(data) {
         // do something here
    });
}
于 2013-06-05T21:43:38.833 回答