2014-10-27 64 views
1

他的問題在此處提到,但我沒有得到這些答案的工作。我有一個按鈕的工作:讓jquery移動彈出窗口在兩秒後消失

<div data-role="popup" id="test_popup"> 
     <p>this is a test</p> 
    </div> 
<a href="#test_popup" data-rel="popup" class="ui-btn ui-btn-inline ui-corner-all" id="button_stop3">test</a> 

我試圖把

<script type="text/javascript"> 
$(document).on('popupafteropen', '.ui-popup', function() { 
setTimeout(function() { 
    $(this).popup('close'); 
}, 2000); 
}); 

</script> 

在頭部分,但沒有奏效。我究竟做錯了什麼?

(我網頁上有多個彈出窗口/按鈕)

回答

0

的時候setTimeout執行功能,$(this)不返回彈出。相反,您應該在運行setTimeout之前檢索popup

$(document).on('popupafteropen', '.ui-popup', function() { 
    var popup = $(this); 
    setTimeout(function() { 
     popup.popup('close'); 
    }, 2000); 
}); 

Demo

+0

哦!就是這麼簡單......非常感謝! – PHPirate 2014-10-27 15:59:28

+0

@PHPirate是的,這就是全部:) – Omar 2014-10-27 16:00:31