JQuery and BlockUI II

繼上篇 JQuery and BlockUI之後,受到 jaceju 大人的精神感昭,決定追根究底一下。

以下的狀況只在fx出現,ie 7.0 不會、手上沒有ie6。

我發現如果你這樣寫:

$().ajaxStart(function(){
setTimeout($.blockUI,0);
});

會出錯,如下圖,那個數字不是每次都一樣的(自製樂透機 XD)。

1.png

但是如果你這樣寫:

$().ajaxStart(function(){
setTimeout(function(){$.blockUI();},0);
});

就會正常了,如下圖:
2.png

老實說,我知道有差異,可是不知道差異在哪?

也就是說:
$(document).ready(function(){alert(‘ok’)});


function hello(){alert(‘ok’);}
$(document).ready(hello);

這樣有什麼不同嗎?

我執行起來都一樣阿….  奇怪,不過今天只能先到這,還得去做網站。剩下的明天繼續。

廣告

3 thoughts on “JQuery and BlockUI II

  1. 哈!我也遇到了!真的會出現數字。

    我是用我上一篇留的範例測的,在我家的 Firefox 的確會出現數字,在公司的電腦就不會了,真怪。

    大略追了一下,發現是 Firefox 在執行 jQuery Ajax 的部份時,會把某個神秘的數字帶給 ajaxStart 所 bind 的 function 。至於是什麼,時間關係我也沒多查。

    另外 IE6 和 IE7 一樣都不會發生這個狀況。所以可能要透過 $.browser.msie 來判斷要不要加 setTimeout 。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s