2016-04-28 3 views
0

私はcontenteditable divを持っており、この要素にmaxlength制限を追加する必要があります。コントロールのキーアップイベントで簡単に行うことができますが、ユーザーがctrl + vで大量のテキストを貼り付けると、ユーザーの入力を減らす必要があります。また、htmlでもかまいませんので、私は非常に慎重でなければなりません。だから、部分文字列だけを使うことはできない。どのようにそれを行うか考えていますか?どんな助けも私の人生を救うでしょう。contenteditable属性を持つdiv要素にmaxlength制限を追加するにはどうすればよいですか?

+1

こんにちは、喜び、あなたがこれまでのコードを投稿してください。 –

+0

可能な複製http://stackoverflow.com/q/2867479/2137833 – Rick

+0

変更イベントを使用します。または、間隔を使用する – Mojtaba

答えて

1

divに貼り付けを中止するには、入力イベントを制御する必要があります。私はここで永遠にこれで私を助けてくれる人は誰も覚えていませんが、このコードをいくつかのページで使用しています。

const limit = 200; 
rem = limit - $('#editor').text().length; 
$("#counter").append("You have <strong>" + rem + "</strong> chars left."); 
$("#editor").on('input', function() { 
    var char = $('#editor').text().length; 
    rem = limit - char; 
    $("#counter").html("You have <strong>" + rem + "</strong> chars left."); 
    console.log(char) 
    console.log(rem); 
    if (char >= 100) { 
     $("#counter").css("color", "#ff7777"); 
    } 
    else 
     $("#counter").css("color", "#111111"); 
    if(char>200) 
    { 
     //add your code to do what you want about too much text... 
    } 
}); 

ここにいる誰かからそれを完全に盗んでいます。しかし、私はポストを見つけることができません..あなたが素晴らしいpplのうちの1つに行くように感謝します。

EDIT okそれは同じ投稿のthis answerから届きました。

関連する問題