2011-11-20 116 views
0

我需要延遲執行第二個功能crumble()stackUp()已經運行。

我試圖與pagechangepagebeforeshow這樣設置的事件順序:

$('div:jqmData(role="page")').bind("pagechange", function(event, data) { 
    stackUp(event, data); 
}); 

$('div:jqmData(role="page")').live('pagebeforeshow', function(event, data){ 
    crumble(event, data, $(this)); 
}); 

不工作,的setTimeout這樣的:

$('div:jqmData(role="page")').live('pagebeforeshow', function(event, data){ 
    window.setTimeout(function (event, data, $(this)) { 
     crumble(event, data, $(this)); 
    },500); 
}); 

品牌$(this)undefined,所以這也沒有幫助。

問題
我怎樣才能確保弄碎火災時,疊層做?
$(this)變得未定義,因爲它是window.setTimeout()(而不是$(this).setTimeout)?
jquery-mobile中正確的事件順序是什麼?

大感謝!求助。

回答

0

您的setTimeout功能沒有意義。這甚至不是有效的語法 - $(this)不能是一個函數參數名稱!

什麼你要找的是:

$('div:jqmData(role="page")').live('pagebeforeshow', function(event, data) { 
    var $this = $(this); 
    window.setTimeout(function() { 
     crumble(event, data, $this); 
    }, 500); 
}); 
+0

謝謝! $這工作:-) – frequent

相關問題