mirror of
https://github.com/twbs/bootstrap.git
synced 2022-11-09 12:25:43 -05:00
Merge pull request #2177 from phopkins/typeahead_friendly
[2.0.2-wip] Typeahead friendly
This commit is contained in:
commit
26e683f1d0
2 changed files with 11 additions and 7 deletions
12
js/bootstrap-typeahead.js
vendored
12
js/bootstrap-typeahead.js
vendored
|
@ -40,6 +40,7 @@
|
|||
, select: function () {
|
||||
var val = this.$menu.find('.active').attr('data-value')
|
||||
this.$element.val(val)
|
||||
this.$element.change();
|
||||
return this.hide()
|
||||
}
|
||||
|
||||
|
@ -165,9 +166,6 @@
|
|||
}
|
||||
|
||||
, keyup: function (e) {
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
|
||||
switch(e.keyCode) {
|
||||
case 40: // down arrow
|
||||
case 38: // up arrow
|
||||
|
@ -180,6 +178,7 @@
|
|||
break
|
||||
|
||||
case 27: // escape
|
||||
if (!this.shown) return
|
||||
this.hide()
|
||||
break
|
||||
|
||||
|
@ -187,10 +186,11 @@
|
|||
this.lookup()
|
||||
}
|
||||
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
}
|
||||
|
||||
, keypress: function (e) {
|
||||
e.stopPropagation()
|
||||
if (!this.shown) return
|
||||
|
||||
switch(e.keyCode) {
|
||||
|
@ -210,12 +210,12 @@
|
|||
this.next()
|
||||
break
|
||||
}
|
||||
|
||||
e.stopPropagation()
|
||||
}
|
||||
|
||||
, blur: function (e) {
|
||||
var that = this
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
setTimeout(function () { that.hide() }, 150)
|
||||
}
|
||||
|
||||
|
|
4
js/tests/unit/bootstrap-typeahead.js
vendored
4
js/tests/unit/bootstrap-typeahead.js
vendored
|
@ -114,14 +114,18 @@ $(function () {
|
|||
source: ['aa', 'ab', 'ac']
|
||||
})
|
||||
, typeahead = $input.data('typeahead')
|
||||
, changed = false
|
||||
|
||||
$input.val('a')
|
||||
typeahead.lookup()
|
||||
|
||||
$input.change(function() { changed = true });
|
||||
|
||||
$(typeahead.$menu.find('li')[2]).mouseover().click()
|
||||
|
||||
equals($input.val(), 'ac', 'input value was correctly set')
|
||||
ok(!typeahead.$menu.is(':visible'), 'the menu was hidden')
|
||||
ok(changed, 'a change event was fired')
|
||||
|
||||
typeahead.$menu.remove()
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue