的我有一些幫助今天需要正確的延遲,這是我想出了:jQuery的延遲似乎並沒有給這類事件
$(window).keypress(function (e)
{
if (e.keyCode == 13)
{
$('#doCheck')
.css('color', '#666')
.delay(100)
.queue(function (next)
{
$(this).css('color', '#00ff00');
next();
});
doCheck('mark1');
}
<input id='doCheck' type="button" onclick="doCheck('mark1'); return false;" value="Mark" />
這裏的想法是,當用戶按下ENTER鍵,那麼按鈕的顏色將會改變顏色100毫秒,同時我會調用一個名爲doCheck的函數來調用AJAX。
我的問題是,在按鈕顏色變回#666之前,似乎有一些最小延遲時間差不多一秒。我期望的時間要短得多,但即使我將延遲設置爲10,它似乎仍然會延遲1/2到1秒。我應該補充一點,如果我設置了五秒鐘的延時,那麼它確實會做五秒鐘。
我看不出這裏有什麼問題。
有沒有人有任何想法?
謝謝,
這裏是doCheck功能。該功能正常工作。只是按鈕的事情給我的問題。請注意,我只是將其更改爲異步:true
function doCheck(task)
{
var parms = {
task: task,
pk: $('#Q_PartitionKey').val(),
rk: $('#Q_RowKey').val(),
};
$.ajax({
type: "POST",
traditional: true,
url: '/power/check',
async: true,
data: parms,
dataType: "json",
success: function (data)
{
// $('#doCheckMark').attr("disabled", false);
// $('#doCheckMark').css("color", "#000");
},
error: function()
{
var cdefg = data;
}
});
}
666可能會導致延誤魔鬼:-) – zod 2011-06-11 20:00:39