2016-11-07 3 views
0

JavaScriptでテキストエリアの値が変更されたことを検出することはできますか?JavaScriptでテキストエリア値のEventListenerが変更されましたか?

changeinputのイベントリスナーは、ユーザーが行った変更を検出できますが、値がプログラムによって変更されたときに検出しようとしています。

これを行う方法は他にありますか?

例:ユーザが入力していなかったためにjQueryで

var area = document.getElementById('area'); 
 

 
area.addEventListener('input', function(){ 
 
    alert(); 
 
}); 
 

 
area.value = "hi"; // Shouldn't it fire the alert here?
<textarea id="area"></textarea>

+0

いいえ、それは発生しませんすることができます。.. 。 – Li357

+0

最初にテキスト領域の値が空白であるかどうかを確認し、空白でない場合は –

+0

一部のコードでは、テキストエリアが変更されており、不明な時刻に変更されています。私は、そのテキストエリアの値が変更されたときに私自身のコードを実行できるようにしたい。そうする方法がない場合は、私の戦略を再考する必要があります。 –

答えて

1
<!DOCTYPE html> 
<html> 
<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
</head> 

<body> 
    <textarea>Default value</textarea> 

    <script> 
      console.log($('textarea').val()); 
      $('textarea').bind('input propertychange', function() { 
       console.log(this.value); 
      }); 
    </script> 
</body> 

</html> 
+0

これは、ユーザーがテキスト領域を変更したときに機能しますが、JavaScriptを使用して値を変更すると、関数は呼び出されません。 https://jsfiddle.net/xtubwpuv/ –

+0

@ spencer.sm..Check updated code .. – Pranjal

0

、あなたは

$('#area').on('change keyup page', function(){ 
    alert(); 
}); 
+0

これは、ユーザーがテキスト領域を変更したときに機能しますが、JavaScriptを使用して値を変更すると関数を呼び出すことはありません。 https://jsfiddle.net/nojmkss6/ –

関連する問題