2016-04-11 5 views
1

jqueryでオープン可能なメニューを作成したいと考えています。私はクリック方法を使用し、それは仕事ですが、私はそれを閉じることはできません。どうすれば閉じることができますか?ありがとうございました:)jqueryのclickイベントにoff関数を使用することはできません。

$("div#kkayit").on("click", function(){ 
    $(this).css("background-color", "pink"); 
}); 

$("div#kkayit").on("click", function(){ 
    $("div#kkayit").off("click"); 
}); 
+0

「閉じる」とはどういう意味ですか?具体的に何をしようとしていますか?このコードでは、バックグラウンドカラーを一度変更してから、クリックハンドラを削除します。 – David

+0

'toggle'を使ってCSSのプロパティを保持してください。メニューの表示を変更するだけです! –

答えて

1

あなたはjqueryの中で機能toggleを使用することができます。

http://api.jquery.com/toggle/

$(document).ready(function(){ 
 
    $("button").click(function(){ 
 
     $("p").toggle(); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p> HERE Will toggle</p> 
 

 
<button>Toggle between hide() and show()</button>

1

同じセレクタに対して同じイベントを2回登録しました。だから私は上記セレクターのクリックイベントのために以下のコードだけを使用することをお勧めします。

$("div#kkayit").one("click", function(){ 
    $(this).css("background-color", "pink"); 
}); 

http://api.jquery.com/one/

1

は、以下試してください:

$("div#kkayit").on("click", function(event){ 
    $(this).css("background-color", "pink"); 
    event.preventdefault(); 
}); 

あなたの質問に答えたかどうか教えてください。

ありがとうございました。 Vinay

関連する問題