tôi đã có vấn đề này, vì vậy tôi đã đi trước và đã viết một plugin cho nó: https://gist.github.com/4200601
$(selector).waitUntilExists(function);
Mã số:
(function ($) {
/**
* @function
* @property {object} jQuery plugin which runs handler function once specified element is inserted into the DOM
* @param {function} handler A function to execute at the time when the element is inserted
* @param {bool} shouldRunHandlerOnce Optional: if true, handler is unbound after its first invocation
* @example $(selector).waitUntilExists(function);
*/
$.fn.waitUntilExists = function (handler, shouldRunHandlerOnce, isChild) {
var found = 'found';
var $this = $(this.selector);
var $elements = $this.not(function() { return $(this).data(found); }).each(handler).data(found, true);
if (!isChild)
{
(window.waitUntilExists_Intervals = window.waitUntilExists_Intervals || {})[this.selector] =
window.setInterval(function() { $this.waitUntilExists(handler, shouldRunHandlerOnce, true); }, 500)
;
}
else if (shouldRunHandlerOnce && $elements.length)
{
window.clearInterval(window.waitUntilExists_Intervals[this.selector]);
}
return $this;
}
}(jQuery));
Nguồn
2012-12-04 06:21:14
Bạn muốn làm gì? –
Chức năng sẵn sàng dường như không hoạt động theo cách này @Drake. Xem fiddle này như là một ví dụ: http://jsfiddle.net/YDn5f/ –