2013-02-12 44 views
0

我們加載jQuery Mobile的列表視圖,在jquery.ajaxjQuery Mobile的AJAX的ListView刷新和點擊事件

$.get('LOADER?......, 
function(html) { 
if (html != '') { 
     $('#id').html(html).find('ul').listview().listview('refresh'); 

進入這個列表視圖,我們對所有鋰項目的單擊事件是這樣的....

$('#id li').live('click',function() { 
    if ($(this).data('icon') == 'star') { 
     $(this).buttonMarkup({icon:'check'}); 
    } else { 
     $(this).buttonMarkup({icon:'star'}); 
    } 
}); 

..但如果點擊一個項目,我們只有兩個接口!爲什麼?

在瀏覽器中刷新F5後,它工作正常嗎?!?!?!?

+0

你能告訴更多你的代碼,特別是$ .get和哪裏/何時被調用?也許還有關於HTML的問題。 live()應該在頁面上「現在和將來」匹配元素,所以它不應該與我第一次提到的綁定完成時的任何事情有關。 – kasdega 2013-02-12 15:09:40

回答

0

對這個問題的第二個觀點我明白什麼是真正的問題!我們沒有沒有點擊的問題!在頁面刷新前我們需要兩次點擊!

這是來自jQuery Mobile的Pageinit加載此第二頁後...

我們解決這樣這個問題:

$('#id li').die('click').live('click', function() { 

不管怎麼說:感謝您的幫助