Dodaję dynamicznie listview
wewnątrz collapsible
. I na tej liście próbuję dodać listę zagnieżdżoną. Kiedy klikam w węźle <li>
, wydarzenie zostanie wydane pageinit
zamiast zdarzenia click
. Zdarzenie kliknięcia jest uruchamiane, gdy ponownie klikniemy ten sam numer li
.Dynamiczne dodawanie zestawu zwijanego i listy zagnieżdżonej w aplikacji jQuery mobile
jsFiddle - http://jsfiddle.net/5zJC5/
HTML:
<body>
<div data-role="page">
<div data-role="collapsible-set" data-theme="b" data-content-theme="d" id="mainColl"></div>
</div>
</body>
jQuery:
$(document).ready(function() {
var ul=$("#mainColl");
var collapsible= $('<div data-role="collapsible">');
collapsible.append('<h2>Collapsible</h2>');
var list = $('<ul data-role="listview" data-divider-theme="b">');
list.append('<li data-role="list-divider">List</li>');
for(var j =0;j<4;j++) {
list.append("<li>Item</li>");
}
collapsible.append(list);
ul.append(collapsible);
ul.trigger('create');
});
$("#mainColl").on("click","li",function() {
var list = $("<ul>");
for(var i=0;i<4;i++) {
list.append("<li>test</li>");
}
$(this).append(list);
//$(this).trigger('create');
$(this).parent().listview('refresh');
});
Ale jak działa zagnieżdżona lista? Kiedy klikamy na listę zagnieżdżoną, tworzymy nową stronę lub dzieje się coś innego. Ponieważ po utworzeniu pierwszego poziomu zagnieżdżania funkcja obsługi zdarzeń kliknięcia nie działa na podrzędnych listach. – dejavu
Jeśli dobrze rozumiem, chcesz dodać nową procedurę obsługi na listach drugiego poziomu (testuj elementy w konkretnym przykładzie), prawda? –
Tak, chcę dodać nowy program obsługi do listy drugiego poziomu. – dejavu