JQM复选框没有在Webview内部设置样式“.trigger('create')”

时间:2013-09-17 07:35:48

标签: jquery-mobile webview styling

以下是我的 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版本,以防这有用。

1 个答案:

答案 0 :(得分:2)

使用等同于pageinit或任何jQuery Mobile events.ready()事件。

  

<强> Demo

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

建议不要在jQuery Mobile中使用.ready(),请参阅此post