这是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
});
}
}
}
此代码验证某些编号控件并启用名为“btndisabled”的CSS(如果需要的话)
“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,但我没有错。有什么想法吗?
更新
在回发和ajax调用中观察对象的行为我意识到一些非常有趣的东西,但我不知道该怎么想。
回发
查看HTMLAnchorElement
的Ajax
如果DOM没有加载锚对象,怎么可能分配event.preventDefault()???
这很疯狂......
答案 0 :(得分:0)
您的回答可能在jQuery Mobile论坛上:
http://forum.jquery.com/topic/mobile-css-gets-lost-after-using-ajax-to-update-content