sS hjs_selectizeClickable() { ret hjs([[ Selectize.define('clickable', function(options) { var self = this; var setup = self.setup; this.setup = function() { setup.apply(self, arguments); var clicking = false; // Detect click on a .clickable self.$dropdown_content.on('mousedown click', function(e) { if ($(e.target).hasClass('clickable')) { if (e.type === 'mousedown') { clicking = true; self.isFocused = false; // awful hack to defuse the document mousedown listener } else { self.isFocused = true; setTimeout(function() { clicking = false; // wait until blur has been preempted }); } } else { // cleanup in case user right-clicked or dragged off the element clicking = false; self.isFocused = true; } }); // Intercept default handlers self.$dropdown.off('mousedown click', '[data-selectable]').on('mousedown click', '[data-selectable]', function() { if (!clicking) { return self.onOptionSelect.apply(self, arguments); } }); self.$control_input.off('blur').on('blur', function() { if (!clicking) { return self.onBlur.apply(self, arguments); } }); } }); $('#selectize').selectize({ valueField: 'id', labelField: 'label', searchField: 'label', maxItems: 1, create: false, plugins:['option_click'], options: [ {id: 1, label: 'I\'m a label'}, {id: 2, label: 'I\'m a 2nd label'}, ] , render: { option: function(item) { return '
'+item.label+'' + '
' + '' + ' ' + '' + '
'; } } }); ]]; }