0

誰かがURLを含むテキストを貼り付けたときに、スクリプトを使用してテキスト内のURLを検出します。

だから私はこのスクリプトを使用します:

$("#post").bind('paste', function(){

   var $ptext = $('textarea#post').val();
   var regexText = /^http:\/\/www$/;
   if(regexText.test($ptext))
   {
    alert('URL DETECTED');
   }
});

しかし、ページをリロードして初めてテキストを貼り付けると、スクリプトは何も実行せず、テキストを再度貼り付ける必要があります。その後、スクリプトは機能します。

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

0

理由はわかりませんが、何らかの理由で .bind() に setTimeout(function(){ //今、textarea val() 呼び出しを行う;}, 100); が必要です。更新された貼り付けイベントにアクセスするために...しかし、代わりに .on() を使用すると、 setTimeout 呼び出しなしで機能します

これは、どちらのシナリオでもこれを達成する方法を示す実際の例です

@Ohgodwhyに感謝

于 2012-08-08T16:14:01.060 に答える