2013-04-04 53 views
0

這是一個非常奇怪的情況與ajax。我有一個要求通過AJAX的炫魅登錄頁面,如下所示:

// Function to call WCF Service - Infrastructure  
    function CallService() { 
     $.ajax({ 
      type: Type, //GET or POST or PUT or DELETE verb 
      url: Url, // Location of the service 
      data: Data, //Data sent to server 
      contentType: ContentType, // content type sent to server 
      dataType: DataType, //Expected data format from server 
      processdata: ProcessData, //True or False 
      success: function (msg) {//On Successfull service call 
       ServiceSucceeded(msg); 
      }, 
      error: ServiceFailed// When Service call fails 
     }); 
    } 

    function ServiceSucceeded(result) { 

     if (DataType == "json") { 
      var resultText = result; 
      if (resultText.result == "True") { 
       $.mobile.changePage("MainMenu.aspx",{ transition: "slideup" }); 
      } 
      else { 
       //Show Error Message 
      } 
     } 
    } 

在每一頁我要叫「general.js」的JS包含以下代碼的引用:

function processMenu(menuOptions) { 
var options = menuOptions.split(''); 
var currentOptions = '1234567'.split('') 

for (i = 0; i < currentOptions.length; i++) { 
    var index = (i + 1) + ''; 
    if (options.indexOf(index) < 0) { 
     var op = $('#op' + currentOptions[i]); 
     op.attr('disabled', true); 
     op.addClass('btndisabled'); 
     $(op).live("click", function (event) { 
      //do stuff 
      event.preventDefault(); // Prevent default link behaviour 
     }); 
    } 
} 

}

此代碼驗證一些編號控件和啓用一個名爲CSS 「btndisabled」 如果這是該電源線

的 「btndisabled」 CSS是:

.btndisabled{  
    background-color: rgb(236,233,216); 
    color: #CCC; 
    font-style: normal; 
} 

確定的情況是,當我使用

$.mobile.changePage("MainMenu.aspx?",{ transition: "slideup" }); 

中的Login.aspx內容更改MainMenu.aspx內容和JS:

op.attr('disabled', true); 
op.addClass('btndisabled'); 
$(op).live("click", function (event) { 
    //do stuff 
    event.preventDefault(); // Prevent default link behaviour 
}); 

被執行,則是CSS不應用,但會執行「event.preventDefault」。我需要應用CSS,但我沒有錯。有任何想法嗎?

UPDATE

看物體的回發,並在Ajax調用的行爲,我意識到的東西很野趣,但我不知道該怎麼想。

回發

enter image description here

看那HTMLAnchorElement

阿賈克斯

enter image description here

如果DOM尚未加載錨對象,如何分配event.preventDefault()?

這是瘋了...

+0

哪裏是在這個問題上的CSS?我的意思是,電話在哪裏? – melancia 2013-04-04 16:26:45

+0

看看這個:http://stackoverflow.com/questions/9345637/why-do-elements-loaded-with-ajax-exhibit-no-jquery-mobile-css – melancia 2013-04-04 16:28:12

+0

該CSS是每一頁的參考 – Lug 2013-04-04 16:32:01

回答