2017-02-02 26 views
0

divの文字数を最大に設定する方法がわかりませんが、貼り付け操作でも機能します。divの文字数を制限する(貼り付け禁止)

これは動作しますが、何かを貼り付けると、文字数が限界に達した場合でも表示されます。

<div id="faketxt" contentEditable=true data-text="Write Here" onkeypress="return (this.innerText.length <= 19200)"></div> 

どうすれば貼り付けを防止できますか?

文字の制限は19200でなければならないことも非常に重要です。javascriptを使用したコードの一部は大きな値では機能しません。

+0

私は "れるonkeypress" イベントが問題であると信じているが、別のイベントをしてみてください。 –

+0

ペーストと書き込みを防止するためのイベントですか? –

+0

ちょうど答えが追加されました。イベント「貼り付け」があります。 –

答えて

0

イベントは「onkeypress」なので、copy-pasteオプションはバイパスの一種です。幸いにもあなたのために - pasteイベントがあるので、貼り付けたコンテンツの長さが要件に合っているかどうかをチェックする関数をそのイベントに単にバインドします。このような 何か:

$("#faketxt").bind("paste", function(e){ 
    var pastedData = e.originalEvent.clipboardData.getData('text'); 
    if(pastedData.length > 19200) return false; 
    if(pastedData.length + $(this).text().length > 19200) return false; 
    return true; 
}); 

JSFIDDLE

+0

は動作しません... –

+0

Amm ...それは、あなたはjsfiddleを作成してください、する必要がありますか? –

+0

確かにhttps://jsfiddle.net/52jdenLd/ –

関連する問題