diff --git a/public/js/index.js b/public/js/index.js index a2e0400ee..96580fe37 100644 --- a/public/js/index.js +++ b/public/js/index.js @@ -3651,9 +3651,6 @@ function reverseSortCursorMenu(dropdown) { return items; } -var lastUpSideDown = false; -var upSideDown = false; - var checkCursorMenu = _.throttle(checkCursorMenuInner, cursorMenuThrottle); function checkCursorMenuInner() { @@ -3692,6 +3689,8 @@ function checkCursorMenuInner() { // set offset var offsetLeft = 0; var offsetTop = defaultTextHeight; + // set up side down + var lastUpSideDown = upSideDown = false; // only do when have width and height if (width > 0 && height > 0) { // make element right bound not larger than doc width @@ -3703,12 +3702,11 @@ function checkCursorMenuInner() { offsetTop = -(height + menuBottomMargin); // reverse sort menu because upSideDown dropdown.html(reverseSortCursorMenu(dropdown)); - lastUpSideDown = upSideDown; upSideDown = true; - } else { - lastUpSideDown = upSideDown; - upSideDown = false; } + var textCompleteDropdown = $(editor.getInputField()).data('textComplete').dropdown; + lastUpSideDown = textCompleteDropdown.upSideDown; + textCompleteDropdown.upSideDown = upSideDown; } // make menu scroll top only if upSideDown changed if (upSideDown !== lastUpSideDown) diff --git a/public/vendor/jquery-textcomplete/jquery.textcomplete.js b/public/vendor/jquery-textcomplete/jquery.textcomplete.js old mode 100644 new mode 100755 index cd2f863dc..8c25af169 --- a/public/vendor/jquery-textcomplete/jquery.textcomplete.js +++ b/public/vendor/jquery-textcomplete/jquery.textcomplete.js @@ -167,6 +167,7 @@ if (typeof jQuery === 'undefined') { var element = this.$el.get(0); // Initialize view objects. this.dropdown = new $.fn.textcomplete.Dropdown(element, this, this.option); + this.dropdown.upSideDown = false; var Adapter, viewName; if (this.option.adapter) { Adapter = this.option.adapter; @@ -556,13 +557,13 @@ if (typeof jQuery === 'undefined') { if (!this.shown) { return; } if (this.isUp(e)) { e.preventDefault(); - if(typeof upSideDown != 'undefined' && upSideDown) + if(this.upSideDown) this._down(); else this._up(); } else if (this.isDown(e)) { e.preventDefault(); - if(typeof upSideDown != 'undefined' && upSideDown) + if(this.upSideDown) this._up(); else this._down();