1

这是我的javascript代码片段:

<script>
function returnStringForID(param) {
var retStr =
param.replace(/[\. ,:-]+/g, '').replace(/'/g, '')
    .replace(/&/g, '').replace(/\(|\)/g, '');
return retStr;
}
$(document).ready(function () {
var chanId = 'Demo';
var fs_dyn = $('#fs_dyn');
var data = ['Sony', 'Pix', 'Max', 'Set'];

var seriesColors = ['#4000E3', '#FFC526', '#FF0000', '#C0504D'
, '#1F497D', '#4BACC6', '#8064A2', '#9BBB59', '#F79646', '#948A54'];

for (var i = 0; i < data.length; i++) {
var checkId = "graphItem_" + i;
var color;
color = seriesColors[i];

var chanId = returnStringForID(data[i]);

var tmp = "";
tmp = "<input type='checkbox' checked='true' class='custom' value='" + data[i]
    + "'  id='" + chanId + "' name='" + chanId + "'/>"
    + "<label for='" + chanId + "' style='font-size:12pt;font-weight:bold;color:"
    + color + "'>" + data[i] + "</label>";

fs_dyn.append(tmp);

}
fs_dyn.trigger('create');

});

</script>

这是HTML:

<td width='30%' style="vertical-align: top;" id="tdDynamic">
<fieldset data-mini='true' id='fs_dyn'></fieldset>
</td>

如果在原始 html 中完成,此代码将完美运行。但是,当在 webview 中时,复选框没有样式。此外,我曾经.trigger('create')在同一个应用程序中设置嵌套可折叠样式,该应用程序也在 webview 内,但效果很好。

PS:我使用的是 JQM 1.3.1 版本,以防万一这有帮助。

4

1 回答 1

2

使用pageinit等效于.ready()或任何jQuery Mobile 事件的事件

演示

$(document).on('pageinit', function () {
  // code
});

不推荐在 jQuery Mobile 中使用.ready(),请参考这篇文章

于 2013-09-19T22:44:47.060 回答