Fix some tabbing issues and unexpected fall through on keydown_checker
This commit is contained in:
parent
56dbefa500
commit
2587c9c985
|
@ -184,8 +184,8 @@
|
|||
Chosen.prototype.close_field = function() {
|
||||
$(document).unbind("click", this.click_test_action);
|
||||
if (!this.is_multiple) {
|
||||
this.selected_item.attr("tabIndex", this.search_field.attr("tabIndex"));
|
||||
this.search_field.attr("tabIndex", -1);
|
||||
this.selected_item.attr("tabindex", this.search_field.attr("tabindex"));
|
||||
this.search_field.attr("tabindex", -1);
|
||||
}
|
||||
this.active_field = false;
|
||||
this.results_hide();
|
||||
|
@ -197,8 +197,8 @@
|
|||
};
|
||||
Chosen.prototype.activate_field = function() {
|
||||
if (!this.is_multiple && !this.active_field) {
|
||||
this.search_field.attr("tabIndex", this.selected_item.attr("tabIndex"));
|
||||
this.selected_item.attr("tabIndex", -1);
|
||||
this.search_field.attr("tabindex", this.selected_item.attr("tabindex"));
|
||||
this.selected_item.attr("tabindex", -1);
|
||||
}
|
||||
this.container.addClass("chzn-container-active");
|
||||
this.active_field = true;
|
||||
|
@ -273,7 +273,7 @@
|
|||
};
|
||||
Chosen.prototype.result_do_highlight = function(el) {
|
||||
var high_bottom, high_top, maxHeight, visible_bottom, visible_top;
|
||||
if (el) {
|
||||
if (el.length) {
|
||||
this.result_clear_highlight();
|
||||
this.result_highlight = el;
|
||||
this.result_highlight.addClass("highlighted");
|
||||
|
@ -325,14 +325,14 @@
|
|||
};
|
||||
Chosen.prototype.set_tab_index = function(el) {
|
||||
var ti;
|
||||
if (($(this.form_field)).attr("tabIndex")) {
|
||||
ti = ($(this.form_field)).attr("tabIndex");
|
||||
($(this.form_field)).attr("tabIndex", -1);
|
||||
if (($(this.form_field)).attr("tabindex")) {
|
||||
ti = ($(this.form_field)).attr("tabindex");
|
||||
($(this.form_field)).attr("tabindex", -1);
|
||||
if (this.is_multiple) {
|
||||
return this.search_field.attr("tabIndex", ti);
|
||||
return this.search_field.attr("tabindex", ti);
|
||||
} else {
|
||||
this.selected_item.attr("tabIndex", ti);
|
||||
return this.search_field.attr("tabIndex", -1);
|
||||
this.selected_item.attr("tabindex", ti);
|
||||
return this.search_field.attr("tabindex", -1);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -626,16 +626,21 @@
|
|||
}
|
||||
switch (stroke) {
|
||||
case 8:
|
||||
return this.backstroke_length = this.search_field.val().length;
|
||||
this.backstroke_length = this.search_field.val().length;
|
||||
break;
|
||||
case 9:
|
||||
return this.mouse_on_container = false;
|
||||
this.mouse_on_container = false;
|
||||
break;
|
||||
case 13:
|
||||
return evt.preventDefault();
|
||||
evt.preventDefault();
|
||||
break;
|
||||
case 38:
|
||||
evt.preventDefault();
|
||||
return this.keyup_arrow();
|
||||
this.keyup_arrow();
|
||||
break;
|
||||
case 40:
|
||||
return this.keydown_arrow();
|
||||
this.keydown_arrow();
|
||||
break;
|
||||
}
|
||||
};
|
||||
Chosen.prototype.search_field_scale = function() {
|
||||
|
|
|
@ -147,6 +147,7 @@ class Chosen
|
|||
setTimeout this.container_click.bind(this), 50 unless @active_field
|
||||
|
||||
input_blur: (evt) ->
|
||||
console.log "HUH?"
|
||||
if not @mouse_on_container
|
||||
@active_field = false
|
||||
setTimeout this.blur_test.bind(this), 100
|
||||
|
@ -158,8 +159,8 @@ class Chosen
|
|||
$(document).unbind "click", @click_test_action
|
||||
|
||||
if not @is_multiple
|
||||
@selected_item.attr "tabIndex", @search_field.attr("tabIndex")
|
||||
@search_field.attr "tabIndex", -1
|
||||
@selected_item.attr "tabindex", @search_field.attr("tabindex")
|
||||
@search_field.attr "tabindex", -1
|
||||
|
||||
@active_field = false
|
||||
this.results_hide()
|
||||
|
@ -173,8 +174,8 @@ class Chosen
|
|||
|
||||
activate_field: ->
|
||||
if not @is_multiple and not @active_field
|
||||
@search_field.attr "tabIndex", @selected_item.attr "tabIndex"
|
||||
@selected_item.attr "tabIndex", -1
|
||||
@search_field.attr "tabindex", (@selected_item.attr "tabindex")
|
||||
@selected_item.attr "tabindex", -1
|
||||
|
||||
@container.addClass "chzn-container-active"
|
||||
@active_field = true
|
||||
|
@ -241,7 +242,7 @@ class Chosen
|
|||
this.results_build()
|
||||
|
||||
result_do_highlight: (el) ->
|
||||
if el
|
||||
if el.length
|
||||
this.result_clear_highlight();
|
||||
|
||||
@result_highlight = el;
|
||||
|
@ -290,15 +291,15 @@ class Chosen
|
|||
|
||||
|
||||
set_tab_index: (el) ->
|
||||
if ($ @form_field).attr "tabIndex"
|
||||
ti = ($ @form_field).attr "tabIndex"
|
||||
($ @form_field).attr "tabIndex", -1
|
||||
if ($ @form_field).attr "tabindex"
|
||||
ti = ($ @form_field).attr "tabindex"
|
||||
($ @form_field).attr "tabindex", -1
|
||||
|
||||
if @is_multiple
|
||||
@search_field.attr "tabIndex", ti
|
||||
@search_field.attr "tabindex", ti
|
||||
else
|
||||
@selected_item.attr "tabIndex", ti
|
||||
@search_field.attr "tabIndex", -1
|
||||
@selected_item.attr "tabindex", ti
|
||||
@search_field.attr "tabindex", -1
|
||||
|
||||
show_search_field_default: ->
|
||||
if @is_multiple and @choices < 1 and not @active_field
|
||||
|
@ -546,15 +547,20 @@ class Chosen
|
|||
switch stroke
|
||||
when 8
|
||||
@backstroke_length = this.search_field.val().length
|
||||
break
|
||||
when 9
|
||||
@mouse_on_container = false
|
||||
break
|
||||
when 13
|
||||
evt.preventDefault()
|
||||
break
|
||||
when 38
|
||||
evt.preventDefault()
|
||||
this.keyup_arrow()
|
||||
break
|
||||
when 40
|
||||
this.keydown_arrow()
|
||||
break
|
||||
|
||||
|
||||
search_field_scale: ->
|
||||
|
|
Loading…
Reference in a new issue