Browse Source

Fix related to #1199, issue with using scrollbar causing dropdown to close

pull/1243/merge
jlukic 10 years ago
parent
commit
c4635a741e
1 changed files with 19 additions and 12 deletions
  1. 31
      src/definitions/modules/dropdown.js

31
src/definitions/modules/dropdown.js

@ -263,8 +263,14 @@ $.fn.dropdown = function(parameters) {
} }
}, },
touchEvents: function() { touchEvents: function() {
module.debug('Touch device detected binding touch events');
if( !module.is.searchSelection() ) {
module.debug('Touch device detected binding additional touch events');
if( module.is.searchSelection() ) {
$module
.on('touchstart' + eventNamespace, selector.menu, module.event.menu.mousedown)
.on('touchend' + eventNamespace, selector.menu, module.event.menu.mouseup)
;
}
else {
$module $module
.on('touchstart' + eventNamespace, module.event.test.toggle) .on('touchstart' + eventNamespace, module.event.test.toggle)
; ;
@ -278,8 +284,10 @@ $.fn.dropdown = function(parameters) {
module.verbose('Mouse detected binding mouse events'); module.verbose('Mouse detected binding mouse events');
if( module.is.searchSelection() ) { if( module.is.searchSelection() ) {
$module $module
.on('focus' + eventNamespace, selector.search, module.event.searchFocus)
.on('blur' + eventNamespace, selector.search, module.event.searchBlur)
.on('mousedown' + eventNamespace, selector.menu, module.event.menu.mousedown)
.on('mouseup' + eventNamespace, selector.menu, module.event.menu.mouseup)
.on('focus' + eventNamespace, selector.search, module.event.searchFocus)
.on('blur' + eventNamespace, selector.search, module.event.searchBlur)
; ;
} }
else { else {
@ -301,14 +309,12 @@ $.fn.dropdown = function(parameters) {
} }
$module $module
.on('mousedown' + eventNamespace, module.event.mousedown) .on('mousedown' + eventNamespace, module.event.mousedown)
.on('mouseup' + eventNamespace, module.event.mouseup)
.on('focus' + eventNamespace, module.event.focus)
.on('blur' + eventNamespace, module.event.blur)
.on('mouseup' + eventNamespace, module.event.mouseup)
.on('focus' + eventNamespace, module.event.focus)
.on('blur' + eventNamespace, module.event.blur)
; ;
} }
$module $module
.on('mousedown' + eventNamespace, selector.item, module.event.item.mousedown)
.on('mouseup' + eventNamespace, selector.item, module.event.item.mouseup)
.on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter) .on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter)
.on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave) .on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave)
.on('click' + eventNamespace, selector.item, module.event.item.click) .on('click' + eventNamespace, selector.item, module.event.item.click)
@ -531,14 +537,15 @@ $.fn.dropdown = function(parameters) {
} }
}, },
item: {
menu: {
mousedown: function() { mousedown: function() {
itemActivated = true; itemActivated = true;
}, },
mouseup: function() { mouseup: function() {
itemActivated = false; itemActivated = false;
},
}
},
item: {
mouseenter: function(event) { mouseenter: function(event) {
var var
$currentMenu = $(this).find(selector.menu), $currentMenu = $(this).find(selector.menu),

Loading…
Cancel
Save