diff --git a/chosen/chosen.jquery.js b/chosen/chosen.jquery.js index f76aa7c..b43bc4e 100644 --- a/chosen/chosen.jquery.js +++ b/chosen/chosen.jquery.js @@ -152,14 +152,22 @@ return this.mouse_on_container = false; }; Chosen.prototype.input_focus = function(evt) { + var binding; + binding = this; if (!this.active_field) { - return setTimeout(this.container_click.bind(this), 50); + return setTimeout((function() { + return binding.container_click(); + }), 50); } }; Chosen.prototype.input_blur = function(evt) { + var binding; if (!this.mouse_on_container) { this.active_field = false; - return setTimeout(this.blur_test.bind(this), 100); + binding = this; + return setTimeout((function() { + return binding.blur_test(); + }), 100); } }; Chosen.prototype.blur_test = function(evt) { diff --git a/coffee/chosen.jquery.coffee b/coffee/chosen.jquery.coffee index 54d3c89..af52c4f 100644 --- a/coffee/chosen.jquery.coffee +++ b/coffee/chosen.jquery.coffee @@ -129,12 +129,14 @@ class Chosen mouse_leave: -> @mouse_on_container = false input_focus: (evt) -> - setTimeout this.container_click.bind(this), 50 unless @active_field + binding = this + setTimeout (-> binding.container_click()), 50 unless @active_field input_blur: (evt) -> if not @mouse_on_container @active_field = false - setTimeout this.blur_test.bind(this), 100 + binding = this + setTimeout (-> binding.blur_test()), 100 blur_test: (evt) -> this.close_field() if not @active_field and @container.hasClass "chzn-container-active"