X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=library%2Fjquery-textcomplete%2Fjquery.textcomplete.js;h=95e75149c3d6408124c4c9488e6a35a99b66570f;hb=4593f43254aae1bda40c8b348e16bc28fc11b4c6;hp=1622b77c6946667ac1ff931d752fc94b24e34f4c;hpb=bbab3f590a36a7d23267451abf93ac5b21a39d0a;p=friendica.git diff --git a/library/jquery-textcomplete/jquery.textcomplete.js b/library/jquery-textcomplete/jquery.textcomplete.js index 1622b77c69..95e75149c3 100644 --- a/library/jquery-textcomplete/jquery.textcomplete.js +++ b/library/jquery-textcomplete/jquery.textcomplete.js @@ -795,8 +795,14 @@ if (typeof jQuery === 'undefined') { // (which makes our elements wrap onto the next line and corrupt the next item), if we're close to the right // edge, move left. We don't know how far to move left, so just keep nudging a bit. var tolerance = 30; // pixels. Make wider than vertical scrollbar because we might not be able to use that space. - while (this.$el.offset().left + this.$el.width() > $window.width() - tolerance) { - this.$el.offset({left: this.$el.offset().left - tolerance}); + var lastOffset = this.$el.offset().left, offset; + var width = this.$el.width(); + var maxLeft = $window.width() - tolerance; + while (lastOffset + width > maxLeft) { + this.$el.offset({left: lastOffset - tolerance}); + offset = this.$el.offset().left; + if (offset >= lastOffset) { break; } + lastOffset = offset; } }, @@ -1266,7 +1272,7 @@ if (typeof jQuery === 'undefined') { // // https://github.com/component/textarea-caret-position -(function () { +(function ($) { // The properties that we copy into a mirrored div. // Note that some browsers, such as Firefox, @@ -1387,13 +1393,9 @@ function getCaretCoordinates(element, position, options) { return coordinates; } -if (typeof module != 'undefined' && typeof module.exports != 'undefined') { - module.exports = getCaretCoordinates; -} else if(isBrowser){ - window.$.fn.textcomplete.getCaretCoordinates = getCaretCoordinates; -} +$.fn.textcomplete.getCaretCoordinates = getCaretCoordinates; -}()); +}(jQuery)); return jQuery; }));