JQueryMobile: программно вставленный стиль кнопки не применяется - PullRequest
2 голосов
/ 16 ноября 2011

У меня есть кнопка JQueryMobile, вставленная в ListView.Когда кнопка жестко запрограммирована, применяется стиль CSS jquerymobile.Но когда я попытался вставить кнопку программно, стиль был утерян.Как я могу повторно применить CSS JQueryMobile к кнопке?

, чтобы дать всем понять, о чем я говорю, это мой код для вставки элемента в ListView

//CODE TO ADD A JAVASCRIPT BUTTON TO THE LIST
var parent = document.getElementById("group-1");
var listItem;
listItem = document.createElement('li');
listItem.setAttribute('id',"group-1-row-0");
var inner=    "<a href=\"#\" style=\"padding-top:0px;padding-left:0px;padding-bottom:0px\">";
inner = inner + "<div class=\"customTableLayout\">";
inner = inner +       "<fieldset data-role=\"fieldcontain\" id=\"ui-softbutton\">";
inner = inner +            "<input type=\"button\" id=\"ui-softbutton\" value=\"SOFTCODED\" />";
inner = inner +       "</fieldset>";
inner = inner + "</div>";
inner = inner + "</a>";
listItem.innerHTML = inner;
parent.appendChild(listItem);

//WHEN YOU TRY TO ENABLE THIS CODE, THE DISPLAY BECOMES WEIRD
//$("#ui-softbutton").button();
//$("#ui-softbutton").button('refresh');

$(parent).listview("refresh");

в ПРОСМОТР результата этого кода и чтобы увидеть, что кнопка HARDCODED работает, смотрите это JFiddle

1 Ответ

2 голосов
/ 16 ноября 2011

Live Пример:

Просто необходимо добавить метод триггера ('create')

$(parent).listview("refresh").trigger('create');
...