Skip to content

Suggest list MouseEvent listener duplicates #532

Description

@japonicus

The mouse event handlers added to the 'Powered by MapBox' link at the foot of the suggestions list are added again to _footerNode each time the suggestions are redrawn. This leads to an accumulation of many duplicate 'mousedown' and 'mouseup' handlers.

// Add support for footer.
var parentDraw = typeahead.list.draw;
var footerNode = this._footerNode = getFooterNode();
typeahead.list.draw = function() {
parentDraw.call(this);
footerNode.addEventListener('mousedown', function() {
this.selectingListItem = true;
}.bind(this));
footerNode.addEventListener('mouseup', function() {
this.selectingListItem = false;
}.bind(this));
this.element.appendChild(footerNode);
};

The event handlers should be added to _footerNode only once, outside of typeahead.list.draw()

I noticed this because it was apparent that the _footerNode wasn't being garbage collected in a Single Page App that I was debugging.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions