我在使用Internet Explorer和Chrome瀏覽器的.click()事件時遇到了一些問題。jquery點擊事件問題
所以,我已經有了一個過濾器菜單:
<div id="filter-checkboxes" style="text-align: left; margin-bottom: 20px;">
<input type="checkbox" id="crop-checkbox" onclick="init_filter('crop');" />
<span id="crop-span">Crop</span>
<br />
<input type="checkbox" id="resize-checkbox" onclick="init_filter('resize');" />
<span id="resize-span">Resize</span>
<br />
[...]
</div>
的init_filter(過濾器)呼籲在年底發送一個AJAX REQ
function apply(action)
{
var apply_btn = $("#apply-filter-btn");
var values = null;
$(document).ready(function(){
apply_btn.unbind("click");
apply_btn.click(function(){
switch (action)
{
case "crop":
values = "x=" + $("#x").val() + "&y=" + $("#y").val() +
"&w=" + $("#w").val() + "&h=" + $("#h").val();
if ($("#w").val() !== "0" && $("#h").val() !== "0")
apply_send_req(action, apply_btn, values);
break;
}
});
});
}
的問題是,有另一個功能是實際請求發送之前的延遲。 這隻適用於Firefox ... 所以我問的是我該怎麼做才能防止這種情況?
刪除.ready選擇確實有些幫助,但行爲並沒有firefox那麼快。我的意思是在Firefox中這個工作即時。但是,嘿,這不是我遇到的第一個問題:使用Internet Explorer :( – wikiz 2010-07-05 14:27:37
@wikiz - 它似乎是一個與Internet Explorer的永恆掙扎,但版本9應該是一個巨大的改進! – Fenton 2010-07-06 06:54:48
希望如此,我已經設法修復這個問題最終與.click()狀態無關......它與ajax請求的async:false選項有關 – wikiz 2010-07-06 07:38:26