ここに状況があります。jQueryクラス項目が復帰し続ける
ユーザーがレーティングをクリックしたときにdivクラスアイテムを削除しようとしています。
私が持っている問題は、アイテムをクリックするたびに消えることですが、マウスを動かすと削除したアイテムが戻ってくるということです。
<div class="star_'.($iPos+1).' ratings_stars ratings_vote" onmouseover="overRating(this);" onmouseout="outRating(this);" onClick="selectEmailRating(this);" ></div>
上記の項目ではJavaScriptを呼び出しているのdivです:
は、ここに私の現在のコードです。あなたがコードで見たように、項目を削除して
function selectEmailRating(elem) {
var star = elem;
var rating = widget.data('fsr').rating;
if($(star).attr('class') === 'star_'+ rating + ' ratings_stars ratings_over ratings_vote'){
$(elem).andSelf().removeClass();
$(star).attr('class', 'star_'+ rating + ' ratings_stars');
$(star).attr('class').unbind('onmouseover').unbind('onmouseout');
}
function outRating(elem) {
$(elem).prevAll().andSelf().removeClass('ratings_over');
setRating($(elem).parent());
}
function overRating(elem) {
$(elem).prevAll().andSelf().addClass('ratings_over');
$(elem).nextAll().removeClass('ratings_vote');
}
function setRating(widget) {
var votes = $(widget).data('fsr').rating;
$(widget).find('.star_' + votes).prevAll().andSelf().addClass('ratings_vote');
$(widget).find('.star_' + votes).nextAll().removeClass('ratings_vote');
}
私は、マウスを移動すると、しかし、それが戻って来ている:私は評価をクリックすると、私は以下の次の関数であるコードを実行します。それを削除するためにアイテムをクリックしたときに削除されていることを確認する方法はありますか?
何あなた 'outRating'機能がどのように見えるのでしょうか? –
あなたのoverRatingとoutRating関数は何をしますか?それらを共有できますか? – robbclarke
また、文字列を返す '$(star).attr(" class ")'からイベントリスナーをアンバインドしようとしています。あなたは本質的に '' star_x ratings_stars ratings_vote ".unbind(..)...' – mhodges