2014-10-31 64 views
-2

我試圖執行具有以下結構的一種功能:阿賈克斯道場通話行之前忽略

query(myDivBlock).style('display','block'); 
query(myModal).style('display','block'); 

dojo.xhrGet(callajax); 

query(myDivBlock).style('display','none'); 
query(myModal).style('display','none'); 

我的問題是,在Firefox中的代碼執行罰款,但在IE9,IE10和Chrome不支持。他們忽略了Ajax調用之前和之後的行。我已經將其配置爲Ajax同步並且不起作用。

任何人都知道如何解決這個問題?

+0

你是如何配置它在同步模式?也許發佈更多的代碼 – 2014-10-31 17:24:26

+0

有一個屬性同步設置爲true做了調用ajax sync。我使用以下鏈接作爲示例:http://dojotoolkit.org/reference-guide/1.10/dojo/xhrGet.html – 2014-11-01 19:12:39

+0

在調用ajax之前,定義一個booleab變量whith,並在調用期間將此變量的值可以改變,在執行結束時返回變量值。但在執行期間,我需要屏蔽用戶屏幕 – 2014-11-01 19:19:43

回答

0

dojo.xhrGet阻止瀏覽器執行,但不阻止瀏覽器呈現。 這將跨瀏覽器工作:

query(myDivBlock)[0].style('display','block'); 
query(myModal)[0].style('display','block'); 

dojo.xhrGet({url: "url", 
      sync: true, 
      load: function(data){ 
        query(myDivBlock)[0].style('display','none'); 
        query(myModal)[0].style('display','none'); 
      } 
); 
+0

Ferry,我已經試過這種方式,但在IE和Chrome中不執行查詢行塊並隱藏 – 2014-11-03 14:05:25

+0

我編輯了我的答案。 'query'返回一個元素數組,這就是它不起作用的原因。 – 2014-11-03 19:02:18

+0

好的,但我相信這不是問題。由於即使沒有索引,對象查詢也能正常工作,因此它將樣式應用於所有元素。 – 2014-11-05 23:30:28