<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript">
$(document).delegate('#sun', 'pageshow' , function() {
alert("!");
var days = ['sun','mon','tue','wed','thu','fri','fri','sat'],
output = [];//create an output buffering variable
for(var x=0; x<days.length; x++){
alert(days[x]);
//rather than manipulate the DOM every iteration of the loop we add a string of HTML to an array
output.push('<li><a data-ajax="false" href="#' + days[x] + '">' + days[x] + '</a></li>');
}
//now we add the buffered data to the listview and either refresh or initialize the widget
var $cNav = $('#custom-navbar')
$cNav.append(output.join(''));
//if the listview has the `ui-listview` class then it's been initialized, and the widget needs to be refreshed, otherwise it needs to be initialized
if ($cNav.hasClass('ui-listview')) {
$cNav.listview('refresh');
} else {
$cNav.listview();
}
});
</script>
<script src="../js/jquery.mobile-1.0.1.js"></script>
Поскольку этот код запускает каждое событие pageshow
, вы получите несколько списков, когда пользователи перейдут на страницу, а затем вернутся на страницу. Вместо этого вы можете использовать событие pageinit
: http://jquerymobile.com/demos/1.1.0-rc.1/docs/api/events.html
Обновление
Ошибка на вашей странице происходит здесь:
$('ul#custom-navbar').append('<li/>', {
.append('<a/>', {
'href' = "#" + days[x],
'data-ajax' = "false",
'text' = days[x]
});
});
Вы это видите? У вас есть дополнительный , {
и вам не хватает синтаксиса, чтобы это имело смысл. Вы также используете знаки равенства, где вы должны использовать двоеточия (так как вы устанавливаете свойства объекта):
$('ul#custom-navbar').append(
$('<li/>').append('<a/>', {
'href' : "#" + days[x],
'data-ajax' : "false",
'text' : days[x]
})
);
Это создает элемент списка, а затем добавляет к нему ссылку с некоторыми установленными атрибутами.
Обратите внимание, что вы можете скопировать мой код, вставить его поверх кода (в своем документе), и он будет работать нормально. Я проверил это, используя мою консоль.
В общем, вы должны научиться пользоваться консолью, это поможет вам на удивление. Например, я нашел ошибку на вашей странице примерно за 30 секунд ...