2013-04-04 55 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

回答