テキストエリアを含むBootstrapモーダルがあります。モーダルを開くときは、開くたびに新しいテキストになるように、テキストエリアから以前のテキストをクリアする必要があります。
問題は、テキストを最初にクリアしたときに、フィールドのプレースホルダーも削除されることです。
$('textarea').val('')
テキストをクリアするために使用しています。
テキストエリアを含むBootstrapモーダルがあります。モーダルを開くときは、開くたびに新しいテキストになるように、テキストエリアから以前のテキストをクリアする必要があります。
問題は、テキストを最初にクリアしたときに、フィールドのプレースホルダーも削除されることです。
$('textarea').val('')
テキストをクリアするために使用しています。
blur
プレースホルダーを再度表示するには、イベントをトリガーする必要があります。また、非表示イベント中にのみ機能するため、再び表示されるとプレースホルダーが元に戻されます。
$('#modal').on('hide', function() {
$(this).find('textarea').val('').blur();
});
作業中のjsfiddle
編集:私は間違っていました、彼がイベントを使用する彼の答えでマーティンによって説明されているように、イベントをからshow
に変更するだけでぼやけることなく機能するようですhide
shown
「show」イベントではなく「shown」イベントに登録すると機能します。
$(document).ready(function() {
$('#modal').on('shown', function() {
$(this).find('textarea').val('');
});
});
試す
$(document).ready(function() {
$('#modal').bind('hide',function(){
$('textarea',this).val('')
})
});
マルチブラウザ、jquery-ui イベント スタンダード
IEバージョンの中で..IE10はプレースホルダーのみをサポートしています....したがって、古いバージョンのIEでこの泥棒を試してはいけません...。
しかし、Firefox、Chrome、Operaなどの他のブラウザはすべてこの属性をサポートしています...
以下のコードを試してみてください...
更新されたフィドル:http://jsfiddle.net/dkRS8/6/
$(document).ready(function() {
$('#modal').on('show', function() {
var ele = $(this).find('textarea');
ele.val('');
});
});