我有兩個事件:一個onFocus(saveOld)和一個OnChange(showPoints)。當用戶關注下拉菜單時,我使用jquery.data函數來保存下拉菜單的舊值。當用戶更改下拉列表的值時,我會檢查舊值是否大於當前值。如果是這樣,我總調整總量。但是,只有在我的onChange中的.data函數獲得舊值後,才能使用此值。沒有警報沒有發生。除非我提醒變量,否則我的事件無法正常工作?爲什麼? Javascript/jquery
function showPoints(pointCategory, ddlAmount, name){
old = jQuery.data(document.body,name);
alert(old);
var Points = parseInt($('p#points').html());
if(old > ddlAmount){
diff = old - ddlAmount;
currentPoints = Points + (diff * pointCategory);
}else{
currentPoints = Points - (ddlAmount * pointCategory);
}
$('p#points').html(currentPoints);
}//showPoints
function saveOld(oldAmount, name){
$(document.body).data(name,oldAmount);
}
沒有showPoints()中的警報,這無法正常工作。出了什麼問題?
謝謝你們
編輯:請注意,我已經嘗試了this.delay(1000),其中警報應該的。仍然沒有工作
顯示'onfocus'和'onChange'代碼。 –
我會假設警報需要顯示的時間和您點擊它的時間會讓瀏覽器有時間做一些沒有時間的事情,如果沒有警報的話。你在$ .ready()上運行你的代碼嗎?如果不是,你應該是。 – fresskoma
@TalhaAhmedKhan這些函數是事件觸發時所調用的。 onFocus = saveOld和onChange = showPoints – JeremyS