1

こんにちは、私はjqueryに取り組んでいます。テキスト領域があり、jqueryで非表示関数のクラスを選択する必要があります。ロードしたら、入力すると表示され、終了すると非表示になります

ここで私のコードは次のとおりです。

   <script type="text/javascript">
     $(document).ready(function () {
      $('.select').mouseleave(function () {
        $('.select').hide();
      });
    });
   </script>

ここに私のhtml:

     <textarea  rows="10"  class="select"  id="editor1"> </textarea>

ここにテキストエリアがあります入力時に必要なテキストエリアを離れるときに関数が起動されないため、非表示にする必要があるため、クラスでテキストエリアを呼び出す必要があるため、テキストエリアクラスを微調整する方法が必要です。

4

2 に答える 2

4
 $('.select').mouseleave(function () {
    $(this).hide();
 });

あなたが試してみたいかもしれないAltho:

 $('.select').blur(function () {
    $(this).hide();
 });

そして、タイトルの質問のとおりです

$('.select') /* This will select every single element
    that has the class "select" */

一方

$('#editor1') /* This will select ONLY the first
    element that has the id "editor1" */

また、要素のイベントまたは func 呼び出し内では、 $(this) は呼び出された要素を表します。

$(".select").blur(function(e) {
    $(this) // represents the current element losing focus
});
于 2012-11-01T14:17:48.087 に答える
0

あなたはほとんどそれを正しく持っています。ただし、mouseleaveは、マウスをその上に置いてから離れるときです(したがって、イベント名)。

テキスト入力の場合は、focusoutを使用する方が適切です。以下の例。

   <script>
     $(document).ready(function () {
      $('.select').on("focusout",function () {
        $(this).hide();
      });
    });    
   </script>
于 2012-11-01T14:20:29.297 に答える