diff --git a/src/js/tooltipster.js b/src/js/tooltipster.js index 4440879..198f8e3 100644 --- a/src/js/tooltipster.js +++ b/src/js/tooltipster.js @@ -17,9 +17,9 @@ var defaults = { IEmin: 6, interactive: false, multiple: false, - // must be 'body' for now, or an element positioned at (0, 0) + // must be 'body' for now (default), or an element positioned at (0, 0) // in the document, typically like the very top views of an app. - parent: 'body', + parent: null, plugins: ['sideTip'], repositionOnScroll: false, restoration: 'none', @@ -546,7 +546,7 @@ $.Tooltipster.prototype = { // to detect swiping if (env.hasTouchCapability) { - $('body').on('touchmove.'+ self.__namespace +'-triggerOpen', function(event) { + $(env.window.document.body).on('touchmove.'+ self.__namespace +'-triggerOpen', function(event) { self._touchRecordEvent(event); }); } @@ -941,7 +941,10 @@ $.Tooltipster.prototype = { } // determine the future parent - if (typeof this.__options.parent == 'string') { + if (this.__options.parent === null) { + this.__options.parent = $(env.window.document.body); + } + else if (typeof this.__options.parent == 'string') { this.__options.parent = $(this.__options.parent); } @@ -1519,7 +1522,7 @@ $.Tooltipster.prototype = { // clear the array to prevent memory leaks self.__$originParents = null; - $('body').off('.'+ self.__namespace +'-triggerClose'); + $(env.window.document.body).off('.'+ self.__namespace +'-triggerClose'); self._$origin.off('.'+ self.__namespace +'-triggerClose'); @@ -1971,7 +1974,7 @@ $.Tooltipster.prototype = { eventNames += 'touchend.'+ self.__namespace +'-triggerClose'; } - $('body').on(eventNames, function(event) { + $(env.window.document.body).on(eventNames, function(event) { if (self._touchIsMeaningfulEvent(event)) { @@ -1986,7 +1989,7 @@ $.Tooltipster.prototype = { // needed to detect and ignore swiping if (self.__options.triggerClose.tap && env.hasTouchCapability) { - $('body').on('touchstart.'+ self.__namespace +'-triggerClose', function(event) { + $(env.window.document.body).on('touchstart.'+ self.__namespace +'-triggerClose', function(event) { self._touchRecordEvent(event); }); } @@ -2485,7 +2488,7 @@ $.Tooltipster.prototype = { .off('.'+ self.__namespace +'-triggerOpen'); // remove the touch listener - $('body').off('.' + self.__namespace +'-triggerOpen'); + $(env.window.document.body).off('.' + self.__namespace +'-triggerOpen'); var ns = self._$origin.data('tooltipster-ns'); @@ -3070,7 +3073,7 @@ Ruler.prototype = { this.$container = $('
') .append(this.__$tooltip) - .appendTo('body'); + .appendTo(env.window.document.body); }, /**