Skip to content

Commit 9208f73

Browse files
committed
Released 0.6.13.
1 parent 5eff6e1 commit 9208f73

File tree

5 files changed

+82
-79
lines changed

5 files changed

+82
-79
lines changed

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "selectize",
33
"keywords": ["select", "ui", "form", "input", "control", "autocomplete", "tagging", "tag"],
44
"description": "Selectize is a jQuery-based custom <select> UI control. Useful for tagging, contact lists, country selectors, etc.",
5-
"version": "0.6.12",
5+
"version": "0.6.13",
66
"license": "Apache License, Version 2.0",
77
"readmeFilename": "README.md",
88
"repository": {

selectize.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*! selectize.css - v0.6.12 | https://github.com/brianreavis/selectize.js | Apache License (v2) */
1+
/*! selectize.css - v0.6.13 | https://github.com/brianreavis/selectize.js | Apache License (v2) */
22

33
/* --- file: "src/selectize.css" --- */
44

selectize.jquery.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "selectize",
3-
"version": "0.6.12",
3+
"version": "0.6.13",
44
"title": "Selectize.js",
55
"author": {
66
"name": "Brian Reavis",

selectize.js

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*! selectize.js - v0.6.12 | https://github.com/brianreavis/selectize.js | Apache License (v2) */
1+
/*! selectize.js - v0.6.13 | https://github.com/brianreavis/selectize.js | Apache License (v2) */
22

33
(function(factory) {
44
if (typeof exports === 'object') {
@@ -295,6 +295,17 @@
295295
return (str + '').replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1');
296296
};
297297

298+
/**
299+
* Escapes quotation marks with backslashes. Useful
300+
* for escaping values for use in CSS attribute selectors.
301+
*
302+
* @param {string} str
303+
* @return {string}
304+
*/
305+
var escape_quotes = function(str) {
306+
return str.replace(/(['"])/g, '\\$1');
307+
};
308+
298309
var hook = {};
299310

300311
/**
@@ -782,12 +793,12 @@
782793
});
783794

784795
$(window).on({
785-
resize: function() {
796+
'scroll resize': function() {
786797
if (self.isOpen) {
787798
self.positionDropdown.apply(self, arguments);
788799
}
789800
},
790-
mousemove: function() {
801+
'mousemove': function() {
791802
self.ignoreHover = false;
792803
}
793804
});
@@ -1707,7 +1718,7 @@
17071718
updateOption: function(value, data) {
17081719
var self = this;
17091720
var $item, $item_new;
1710-
var value, value_new, index_item, cache_items, cache_options;
1721+
var value_new, index_item, cache_items, cache_options;
17111722

17121723
value = hash_key(value);
17131724
value_new = hash_key(data[self.settings.valueField]);
@@ -1792,7 +1803,7 @@
17921803
*/
17931804
getOption: function(value) {
17941805
value = hash_key(value);
1795-
return value ? this.$dropdown_content.find('[data-selectable]').filter('[data-value="' + value.replace(/(['"])/g, '\\$1') + '"]:first') : $();
1806+
return value ? this.$dropdown_content.find('[data-selectable]').filter('[data-value="' + escape_quotes(value) + '"]:first') : $();
17961807
},
17971808

17981809
/**
@@ -1818,15 +1829,7 @@
18181829
* @returns {object}
18191830
*/
18201831
getItem: function(value) {
1821-
var i = this.items.indexOf(value);
1822-
if (i !== -1) {
1823-
if (i >= this.caretPos) i++;
1824-
var $el = $(this.$control[0].childNodes[i]);
1825-
if ($el.attr('data-value') === value) {
1826-
return $el;
1827-
}
1828-
}
1829-
return $();
1832+
return this.$control.children('[data-value="' + escape_quotes(hash_key(value)) + '"]');
18301833
},
18311834

18321835
/**
@@ -1859,7 +1862,7 @@
18591862
// update menu / remove the option
18601863
$option = self.getOption(value);
18611864
value_next = self.getAdjacentOption($option, 1).attr('data-value');
1862-
self.refreshOptions(inputMode !== 'single');
1865+
self.refreshOptions(self.isFocused && inputMode !== 'single');
18631866
if (value_next) {
18641867
self.setActiveOption(self.getOption(value_next));
18651868
}

0 commit comments

Comments
 (0)