Skip to content

Commit c6bbab2

Browse files
committed
Move chosen-single’s search input to avoid clip.
We need not rely on clip: rect() if we move the input — we can instead use display: block/none.
1 parent 76d1446 commit c6bbab2

File tree

4 files changed

+23
-3
lines changed

4 files changed

+23
-3
lines changed

coffee/chosen.jquery.coffee

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,9 @@ class Chosen extends AbstractChosen
243243
@form_field_jq.trigger("chosen:maxselected", {chosen: this})
244244
return false
245245

246+
unless @is_multiple
247+
@search_container.append @search_field
248+
246249
@container.addClass "chosen-with-drop"
247250
@results_showing = true
248251

@@ -259,6 +262,10 @@ class Chosen extends AbstractChosen
259262
if @results_showing
260263
this.result_clear_highlight()
261264

265+
unless @is_multiple
266+
@selected_item.prepend @search_field
267+
@search_field.focus()
268+
262269
@container.removeClass "chosen-with-drop"
263270
@form_field_jq.trigger("chosen:hiding_dropdown", {chosen: this})
264271

coffee/chosen.proto.coffee

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,9 @@ class @Chosen extends AbstractChosen
235235
@form_field.fire("chosen:maxselected", {chosen: this})
236236
return false
237237

238+
unless @is_multiple
239+
@search_container.insert @search_field
240+
238241
@container.addClassName "chosen-with-drop"
239242
@results_showing = true
240243

@@ -251,6 +254,10 @@ class @Chosen extends AbstractChosen
251254
if @results_showing
252255
this.result_clear_highlight()
253256

257+
unless @is_multiple
258+
@selected_item.insert top: @search_field
259+
@search_field.focus()
260+
254261
@container.removeClassName "chosen-with-drop"
255262
@form_field.fire("chosen:hiding_dropdown", {chosen: this})
256263

coffee/lib/abstract-chosen.coffee

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,12 +332,12 @@ class AbstractChosen
332332
get_single_html: ->
333333
"""
334334
<a class="chosen-single chosen-default">
335+
<input class="chosen-search-input" type="text" autocomplete="off" />
335336
<span>#{@default_text}</span>
336337
<div><b></b></div>
337338
</a>
338339
<div class="chosen-drop">
339340
<div class="chosen-search">
340-
<input class="chosen-search-input" type="text" autocomplete="off" />
341341
</div>
342342
<ul class="chosen-results"></ul>
343343
</div>

sass/chosen.scss

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ $chosen-sprite-retina: url('[email protected]') !default;
2020
border-top: 0;
2121
background: #fff;
2222
box-shadow: 0 4px 5px rgba(#000,.15);
23-
clip: rect(0,0,0,0);
23+
display: none;
2424
}
2525
&.chosen-with-drop .chosen-drop {
26-
clip: auto;
26+
display: block;
2727
}
2828
a{
2929
cursor: pointer;
@@ -65,6 +65,12 @@ $chosen-sprite-retina: url('[email protected]') !default;
6565
text-decoration: none;
6666
white-space: nowrap;
6767
line-height: 24px;
68+
69+
input[type="text"] {
70+
cursor: pointer;
71+
opacity: 0;
72+
position: absolute;
73+
}
6874
}
6975
.chosen-default {
7076
color: #999;

0 commit comments

Comments
 (0)