.appendTo不适用于黑莓的phonegap应用程序

时间:2013-10-09 12:35:29

标签: jquery blackberry cordova

我在我的phonegap应用程序中使用jqm-calendar来显示日历。

在日历下方的日历页面中,此列表中有jqm的ul列表,未加载项目。

问题仅针对黑莓设备,它在Android和iphone版本上运行良好。

问题在线:

 e("<li>" + c + "</li>").appendTo(f);

我已经尝试了所有注释选项,但在设备上调试时没有加载单个<li>项。

(function (e) {
e.jqmCalendar = function (t, n) {
    function l() {
        i.settings = e.extend({}, r, n);
        o = e("<table/>");
        var t = e("<thead/>").appendTo(o),
            l = e("<tr/>").appendTo(t),
            c = e("<th class='ui-bar-" + i.settings.theme + " header' colspan='7'/>");
        $previous = e("<a href='#' data-role='button' data-iconpos='notext' class='previous-btn'>Previous</a>").click(function (e) {
            y(new Date(i.settings.date.getFullYear(), i.settings.date.getMonth() - 1, i.settings.date.getDate()))
        }).appendTo(c);
        u = e("<span/>").appendTo(c);
        $previous = e("<a href='#' data-role='button' data-iconpos='notext' class='next-btn'>Next</a>").click(function (e) {
            y(new Date(i.settings.date.getFullYear(), i.settings.date.getMonth() + 1, i.settings.date.getDate()))
        }).appendTo(c);
        c.appendTo(l);
        l = e("<tr/>").appendTo(t);
        for (var h = 0, p = [].concat(i.settings.days, i.settings.days).splice(i.settings.startOfWeek, 7); h < 7; h++) {
            l.append("<th class='ui-bar-" + i.settings.theme + "'><span class='hidden'>" + p[h] + "</span></th>")
        }
        a = e("<tbody/>").appendTo(o);
        o.appendTo(s);
        f = e("<ul data-role='listview' class='bdnamelist'/>").insertAfter(o);
        console.log(f);
        y(i.settings.date)
    }


 s.bind("change", function (t, n) {
        var r = new Date(n.getFullYear(), n.getMonth(), n.getDate() + 1, 0, 0, 0, 0);
        var s = i.settings.events[0];
        //console.log("DEMO begin: " + n + " rows found.");
        //console.log("DEMO end: " + r + " rows found.");
        console.log("DEMO event: " + s + " rows found.");
        f.empty();
        for (var o = 0, t; t = i.settings.events[o]; o++) {
            if (t[i.settings.end] >= n && t[i.settings.begin] <= r) {
                var u = t[i.settings.summary],
                    a = (t[i.settings.begin] > n ? t[i.settings.begin] : n).toTimeString().substr(0, 5),
                    l = (t[i.settings.end] < r ? t[i.settings.end] : r).toTimeString().substr(0, 5),
                    c = t[i.settings.meb_name],
                    h = a + "-" + l;
                //e("<li>" + c + "</li>").appendTo(f);
                //e("<li>" + c + "</li>").appendTo(".bdnamelist");
                  e($('<li></li>').html(c)).appendTo(f);                    
                console.log(f);                 
            }
        }
        f.trigger("create").filter(".ui-listview").listview("refresh")
    });

1 个答案:

答案 0 :(得分:0)

哇这些变量名称相当令人困惑。你为什么不在以后闵? 原始行是

 $("<li>" + (( timeString != "00:00-00:00") ? timeString : "" ) + " " + summary + "</li>").appendTo($listview);

确实可以替换为:

var str = ((timeString != "00:00-00:00") ? timeString : "" ) + " " + summary;
$("<li>").html(str).appendTo($listview);

这个函数需要$(在你的情况下是e)是jQuery,$ listview是一个jQuery元素。这是一个非常基本的jQuery操作,所以程序可能不会失败。点是否出现在正确的日期?也许BB解析日期有点不同。顺便说一句,是否抛出了错误并显示了您的日志消息?