我試圖刪除基於當用戶點擊評級時的div類項目。
我遇到的問題是,每次點擊該項目時,它都會消失,但是當我移動鼠標時,我移除的項目又回來了。
這裏是我當前的代碼:
<div class="star_'.($iPos+1).' ratings_stars ratings_vote" onmouseover="overRating(this);" onmouseout="outRating(this);" onClick="selectEmailRating(this);" ></div>
以上項目是調用JavaScript股利。當我點擊的評價我運行的是在下面的下面的函數代碼:
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