Skip to content

Instantly share code, notes, and snippets.

@Carve
Created March 16, 2023 18:09
Show Gist options
  • Save Carve/78dbcf8d89c6faf792a70d29f11e68cf to your computer and use it in GitHub Desktop.
Save Carve/78dbcf8d89c6faf792a70d29f11e68cf to your computer and use it in GitHub Desktop.
jQuery wait for element
var waitForEl = function (selector, callback, maxTimes = false) {
if (jQuery(selector).length) {
callback();
} else {
if (maxTimes === false || maxTimes > 0) {
maxTimes != false && maxTimes--;
setTimeout(function () {
waitForEl(selector, callback, maxTimes);
}, 100);
}
}
};
/**
Example Usage:
jQuery(document).ready(function () {
var selector = '#element';
var waitForEl = function (selector, callback, maxTimes = false) {
if (jQuery(selector).length) {
callback();
} else {
if (maxTimes === false || maxTimes > 0) {
maxTimes != false && maxTimes--;
setTimeout(function () {
waitForEl(selector, callback, maxTimes);
}, 100);
}
}
};
waitForEl(selector, function () {
jQuery(selector); // do something with selector
}, 100);
});
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment