【问题标题】:$.mobile.changePage doesn't load the CSS$.mobile.changePage 不加载 CSS
【发布时间】:2013-04-04 16:23:55
【问题描述】:

这是一个非常奇怪的 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()???

这太疯狂了……

【问题讨论】:

标签: javascript css ajax mobile


【解决方案1】:

【讨论】:

  • 好吧,老实说!我退出了!!...我修复了从登录页面回发的情况。感谢您花时间在 MelaciaUK 上
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-29
  • 1970-01-01
相关资源
最近更新 更多