ページの本文に次のjQueryがあります。基本的に、ユーザーがサブスクライブボタンをクリックすると、ボタンはテキスト入力と送信ボタンを備えたフォームに置き換えられます。したがって、フォームはページの読み込み時に存在しません。
デフォルトでは、テキスト入力には「メールアドレスを入力してください」が含まれています。ユーザーがクリックしたときにテキストフィールドを空にしたいのですが。ページの読み込みが完了したときにフォームがすでに存在する場合、これを行う方法を知っていますが、ここではそうではありません。委任されたイベントを使用する必要があることを知っているので、それを調べて、スクリプトの2番目の部分に表示されるものを思いつきましたが、機能していません。
<script>
$('#subscribeline #subscribe').click(function(){
$('#subscribeline').html("<form id='subscribeform'><input type='email' name='email' id='email' value='Enter your email'><input type='submit' name='submit' id='submit' value='OK'></form>");
});
$( '#subscribeform #email' ).on( "click", "td", function() {
$('#subscribeform #email').text('');
});
</script>
イベントを間違って書き込んでいますul#subscribline
。IDが電子メールである入力を使用して、委任されたイベントを記述してください。
このようにしてください:
$( "#subscribeline" ).on( "click", "#email", function() {
$(this).text("");
});
テキストを書く代わりに、html5のプレースホルダープロパティを使用できます。
こちらの例を参照してください
次のようにプレースホルダーを追加できます。
$('#subscribeline #subscribe').click(function(){
$('#subscribeline').html("<form id='subscribeform'><input type='email' name='email' id='email' placeholder='Enter your email'><input type='submit' name='submit' id='submit' value='OK'></form>");
});
そうすれば、クリックイベントを記述したり、入力フィールド内にあるデフォルトのテキストを削除したりする必要はありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加