以下是我的 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版本,以防这有用。
答案 0 :(得分:2)
使用等同于pageinit
或任何jQuery Mobile events的.ready()
事件。
<强> Demo 强>
$(document).on('pageinit', function () {
// code
});
建议不要在jQuery Mobile中使用.ready()
,请参阅此post。