diff --git a/fancySelect.coffee b/fancySelect.coffee index a8613e4..5a48b20 100644 --- a/fancySelect.coffee +++ b/fancySelect.coffee @@ -48,17 +48,17 @@ $.fn.fancySelect = (opts = {}) -> triggerHtml = settings.triggerTemplate(sel.find(':selected')) trigger.html(triggerHtml) - sel.on 'fs.blur', -> + sel.on 'blur.fs', -> if trigger.hasClass 'open' setTimeout -> - trigger.trigger 'fs.close' + trigger.trigger 'close.fs' , 120 - trigger.on 'fs.close', -> + trigger.on 'close.fs', -> trigger.removeClass 'open' options.removeClass 'open' - trigger.on 'click fs.click', -> + trigger.on 'click.fs', -> unless disabled trigger.toggleClass 'open' @@ -93,7 +93,7 @@ $.fn.fancySelect = (opts = {}) -> wrapper.addClass 'disabled' disabled = true - sel.on 'fs.change', (e) -> + sel.on 'change.fs', (e) -> if e.originalEvent && e.originalEvent.isTrusted # discard firefox-only automatic event when hitting enter, we want to trigger our own e.stopPropagation() @@ -109,7 +109,7 @@ $.fn.fancySelect = (opts = {}) -> if !options.hasClass('open') if w in [13, 32, 38, 40] # enter, space, up, down e.preventDefault() - trigger.trigger 'fs.click' + trigger.trigger 'click.fs' else if w == 38 # up e.preventDefault() @@ -125,12 +125,12 @@ $.fn.fancySelect = (opts = {}) -> options.find('li:first-child').addClass('hover') else if w == 27 # escape e.preventDefault() - trigger.trigger 'fs.click' + trigger.trigger 'click.fs' else if w in [13, 32] # enter, space e.preventDefault() - hovered.trigger 'fs.click' + hovered.trigger 'click.fs' else if w == 9 # tab - if trigger.hasClass 'open' then trigger.trigger 'fs.close' + if trigger.hasClass 'open' then trigger.trigger 'close.fs' newHovered = options.find('.hover') if newHovered.length @@ -139,27 +139,27 @@ $.fn.fancySelect = (opts = {}) -> # Handle item selection, and # Add class selected to selected item - options.on 'click fs.click', 'li', (e) -> + options.on 'click.fs', 'li', (e) -> clicked = $(this) sel.val(clicked.data('raw-value')) - sel.trigger('fs.blur').trigger('fs.focus') unless isiOS + sel.trigger('blur.fs').trigger('focus.fs') unless isiOS options.find('.selected').removeClass('selected') clicked.addClass 'selected' trigger.addClass 'selected' - return sel.val(clicked.data('raw-value')).trigger('fs.change').trigger('fs.blur').trigger('fs.focus') + return sel.val(clicked.data('raw-value')).trigger('change.fs').trigger('blur.fs').trigger('focus.fs') # handle mouse selection - options.on 'mouseenter fs.mouseenter', 'li', -> + options.on 'mouseenter.fs', 'li', -> nowHovered = $(this) hovered = options.find('.hover') hovered.removeClass 'hover' nowHovered.addClass 'hover' - options.on 'mouseleave fs.mouseleave', 'li', -> + options.on 'mouseleave.fs', 'li', -> options.find('.hover').removeClass('hover') copyOptionsToList = -> @@ -187,7 +187,7 @@ $.fn.fancySelect = (opts = {}) -> options.append "
  • #{optHtml}
  • " # for updating the list of options after initialization - sel.on 'fs.update', -> + sel.on 'update.fs', -> wrapper.find('.options').empty() copyOptionsToList() diff --git a/fancySelect.js b/fancySelect.js index c32a7f1..8146cd0 100644 --- a/fancySelect.js +++ b/fancySelect.js @@ -56,18 +56,18 @@ triggerHtml = settings.triggerTemplate(sel.find(':selected')); return trigger.html(triggerHtml); }; - sel.on('fs.blur', function() { + sel.on('blur.fs', function() { if (trigger.hasClass('open')) { return setTimeout(function() { - return trigger.trigger('fs.close'); + return trigger.trigger('close.fs'); }, 120); } }); - trigger.on('fs.close', function() { + trigger.on('close.fs', function() { trigger.removeClass('open'); return options.removeClass('open'); }); - trigger.on('click fs.click', function() { + trigger.on('click.fs', function() { var offParent, parent; if (!disabled) { trigger.toggleClass('open'); @@ -103,7 +103,7 @@ wrapper.addClass('disabled'); return disabled = true; }); - sel.on('fs.change', function(e) { + sel.on('change.fs', function(e) { if (e.originalEvent && e.originalEvent.isTrusted) { return e.stopPropagation(); } else { @@ -118,7 +118,7 @@ if (!options.hasClass('open')) { if (w === 13 || w === 32 || w === 38 || w === 40) { e.preventDefault(); - return trigger.trigger('fs.click'); + return trigger.trigger('click.fs'); } } else { if (w === 38) { @@ -137,13 +137,13 @@ } } else if (w === 27) { e.preventDefault(); - trigger.trigger('fs.click'); + trigger.trigger('click.fs'); } else if (w === 13 || w === 32) { e.preventDefault(); - hovered.trigger('fs.click'); + hovered.trigger('click.fs'); } else if (w === 9) { if (trigger.hasClass('open')) { - trigger.trigger('fs.close'); + trigger.trigger('close.fs'); } } newHovered = options.find('.hover'); @@ -153,26 +153,26 @@ } } }); - options.on('click fs.click', 'li', function(e) { + options.on('click.fs', 'li', function(e) { var clicked; clicked = $(this); sel.val(clicked.data('raw-value')); if (!isiOS) { - sel.trigger('fs.blur').trigger('fs.focus'); + sel.trigger('blur.fs').trigger('focus.fs'); } options.find('.selected').removeClass('selected'); clicked.addClass('selected'); trigger.addClass('selected'); - return sel.val(clicked.data('raw-value')).trigger('fs.change').trigger('fs.blur').trigger('fs.focus'); + return sel.val(clicked.data('raw-value')).trigger('change.fs').trigger('blur.fs').trigger('focus.fs'); }); - options.on('mouseenter fs.mouseenter', 'li', function() { + options.on('mouseenter.fs', 'li', function() { var hovered, nowHovered; nowHovered = $(this); hovered = options.find('.hover'); hovered.removeClass('hover'); return nowHovered.addClass('hover'); }); - options.on('mouseleave fs.mouseleave', 'li', function() { + options.on('mouseleave.fs', 'li', function() { return options.find('.hover').removeClass('hover'); }); copyOptionsToList = function() { @@ -195,7 +195,7 @@ } }); }; - sel.on('fs.update', function() { + sel.on('update.fs', function() { wrapper.find('.options').empty(); return copyOptionsToList(); }); diff --git a/index.html b/index.html index 9da9cba..60d7f08 100644 --- a/index.html +++ b/index.html @@ -47,9 +47,7 @@