[英]jquery-mobile event order and why does setTimeout set $this to undefined?
在stackUp()運行后,我需要延遲第二個函數crumble()的執行。
我曾嘗試與pagechange對這樣pagebeforeshow設置的事件順序:
$('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) 未定義 ,因此這也無濟於事。
問題 :
完成堆疊后,如何確保崩潰 ?
$(this)是否因為它是window.setTimeout()(而不是$(this).setTimeout)而變得不確定?
jQuery-mobile中正確的事件順序是什么?
太謝謝了! 求助。
您的setTimeout
函數沒有任何意義。 那甚至不是有效的語法- $(this)
不能是函數參數名稱!
您正在尋找的是:
$('div:jqmData(role="page")').live('pagebeforeshow', function(event, data) {
var $this = $(this);
window.setTimeout(function() {
crumble(event, data, $this);
}, 500);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.