重い計算を行うボタンがあり、計算ステップの間にページを更新したいと思います。
JavaScript:
.on('click', function() {
// compute something
jQuery('#page')
.trigger('pageshow')
;
// compute something
jQuery('#page')
.trigger('pageshow')
;
// compute something
}
pageshow
終了後に-eventがトリガーされるため、これは残念ながら機能しません.on(click)
。
.trigger(...)
すぐに実行を強制する方法はありますか?
JavaScript-醜い解決策:
.on('click', function() {
// compute something
window.setTimeout(function() {
// compute something
jQuery('#page')
.trigger('pageshow')
;
window.setTimeout(function() {
// compute something
jQuery('#page')
.trigger('pageshow')
;
}, 1);
}, 1);
}
醜い解決策はうまくいくでしょうが、本当に醜いです。.on('click', ...)
また、トリガーされたときに-eventが完全に計算されるかどうかのチェックを実装する必要があります。
JavaScript-よりきれいですが、それでも醜い解決策:
var functionFirst = function() {
// compute something
jQuery('#page')
.trigger('pageshow')
;
window.setTimeout(functionSecond, 1);
};
var functionSecond = function() {
// compute something
jQuery('#page')
.trigger('pageshow')
;
window.setTimeout(functionThird, 1);
};
var functionThird = function() {
// compute something
jQuery('#idJqGame')
.trigger('pageshow')
;
};
window.setTimeout(functionFirst, 1);
よりきれいですが、それでも醜い解決策は基本的に醜い解決策と同じことをします-それはただ読みやすいので、私は今のところこれを使用しています。