jQueryイベントを互いに干渉させないようにする方法が不思議です。たとえば、下のコードでは、マウスの上にマウスを置くとボタンのテキストが白くなり、マウスがボタンを離れると黒に戻ります。ボタンをクリックすると青に変わります。これは、ポイント互いに干渉しないようにイベントを取得する方法
$(document).ready(function() {
$("#food-roulette, #kwik-pix, #crypto, #realtalk").mouseover(function(){
$(this).css('color', 'white');
});
$("#food-roulette, #kwik-pix, #crypto, #realtalk").mouseout(function(){
$(this).css('color', 'black');
});
$(document).on('click','#food-roulette, #kwik-pix, #crypto, #realtalk' ,function(){
$(this).css("color","blue");
});
});
に問題がそのようにすぐに私はボタンをクリックして、私はマウスオーバー/マウスアウト機能を引き継ぐ私のマウスを移動した場合には、青色になるとして来る、動作します。
ボタンをクリックすると、青色のままであることを確認します。そして、新しいボタンをクリックすると、新たにクリックされたボタンは青色のままで、以前にクリックされたボタンはmouseover/mouseoutで白黒になります。
どのように私が州の状況を把握し、そして/またはイベントが重複しないように保つことができますか。
と色 ''として定義されclicked'クラスがあります!意味をなさないあなたのCSSの青いimportant'を – damndaewoo
[OK]を、のためのCSSを作ります特定のクラスを選択し、クリックされたボタンを設定してCSSプロパティを設定します。以前にクリックされたボタン(もしあれば)を検出すると、新しく割り当てられたクラスが削除されます。 – user3051442