これは私のjsコードです。私はTicTacToeゲームを作ろうとしています。プレーヤーが表のセル上を移動すると、50%の不透明度を持つそのセル内に「x」または「o」のマーカーが表示されます。彼らが表のセルをクリックすると、100%不透明度のセルにマーカーが表示されます。クリックされたセルにカーソルを合わせると、ホバーイベントが適用され続けます。セルの新しい不透明度を維持しながら、クリックした後にホバーイベントをオフにするにはどうすればよいですか?私の機能の目標は、表のセル上にマウスを置いて一時的に50%の不透明なマーカーを表示し、表のセルをクリックして100%の不透明なマーカーを永久に見ることができるようにすることです。画像http://imgur.com/a/WaZBQクリックしてからホバーイベントをオフにしてください。
注:私は、クリックイベントの終わりに.off関数を含めようとしました。
$(this).off("mouseenter mouseleave);
これは私の問題を解決しません。ここで
$(".tableCell").hover(function(){
$(this).children(".tableCellMarker").attr("src", function(index, attr){
return attr.replace("", "images/X.png");
});
}, function(){
$(this).children(".tableCellMarker").attr("src", function(index, attr){
return attr.replace("images/X.png", "");
});
});
$(".tableCell").click(function(){
$(this).children(".tableCellMarker").attr("src", function(index, attr){
return attr.replace("","images/X.png");
});
$(this).children(".tableCellMarker").css("opacity",1);
$(this).addClass("marked");
});
は.tableCellMarker
あなたがクラスを使用し、状態に対処するためのCSS特異性を使用している場合はそんなに容易になるだろう
.marker {
cursor:pointer;
margin:-80px 0px 150px 50px;
opacity:0.5;
position:absolute;
}
おそらくあなたのhtmlを示し、(編集モードのツールバーを参照してください)コードスニペットを作成する必要があります。宜しくお願いします。 – YakovL
あなたの 'off()'イベントはうまくいくはずです:http://codepen.io/anon/pen/rrxkgW –