ウィンドウがフォーカスされている場合、 jQuery を使用して関数を呼び出す際に問題が発生しました。また、ウィンドウがフォーカスされていない場合 (onblur) は、ウィンドウが再びフォーカスされるまでその関数を一時停止します。
これが私のコードです:
function functiondosomething (user_id) {
var myInterval;
var time_delay = 1000;
$(window).focus(function () {
setTimeout(function() { functiondosomething (user_id); }, time_delay);
}).blur(function () {
clearTimeout(myInterval); // Clearing interval on window blur
});
setTimeout(function() { functiondosomething (user_id); }, time_delay);// ## problem here
}
私の問題は:
その行を削除すると(上記で問題をマークしました。)、ウィンドウの外をクリックしてオンブラーにし、再びフォーカスに戻るまで、関数は最初は機能しないため、機能し始めます。
その行(上記で問題をマークしました)をそのままにしておくと、ウィンドウの外をクリックしてonblurにしても、関数は一時停止できませんでした。
onfocus をクリックすると、機能し始めて停止します。ウィンドウの外をクリックして、ウィンドウを何度もフォーカスする必要があります。そのようなものは、ウィンドウの外をクリックして再度ウィンドウにクリックしてアクティブにする必要があります。
私は何をすべきか ?