|
137 | 137 | }, params = function(element) {
|
138 | 138 | if (!element || !element.getAttribute) return {};
|
139 | 139 |
|
140 |
| - var _params = {}, _dataparams = (element.getAttribute("data-params") || '').queryToObject(); |
| 140 | + var _params = {}, _dataparams = _queryToObject(element.getAttribute("data-params") || ''); |
141 | 141 |
|
142 | 142 | // rules as follow:
|
143 | 143 | // data-* > data-params > options > defaults
|
|
474 | 474 | // if 'trigger_or_options' is a element, we should turn it to options-object
|
475 | 475 | var params_from_trigger = {}, attr_mask;
|
476 | 476 | if (trigger_or_options.nodeType == 1) {
|
477 |
| - params_from_trigger = (trigger_or_options.getAttribute("data-params") || "").queryToObject(); |
| 477 | + params_from_trigger = _queryToObject(trigger_or_options.getAttribute("data-params") || ""); |
478 | 478 | // get params
|
479 | 479 | for (key in defaults) {
|
480 | 480 | // data-* > data-params > defaults
|
|
777 | 777 | return element;
|
778 | 778 | };
|
779 | 779 | /**
|
780 |
| - * prototype extend method: convert query string to key-value object |
| 780 | + * privite method: convert query string to key-value object |
781 | 781 | **/
|
782 |
| - String.prototype.queryToObject = function() { |
| 782 | + var _queryToObject = function(string) { |
783 | 783 | var obj = {};
|
784 |
| - this.split("&").forEach(function(part) { |
785 |
| - var arr_part = part.split("="); |
786 |
| - if (arr_part.length > 1) { |
787 |
| - obj[arr_part[0]] = part.replace(arr_part[0] + "=", ""); |
788 |
| - } |
789 |
| - }); |
| 784 | + if (typeof string == "string") { |
| 785 | + string.split("&").forEach(function(part) { |
| 786 | + var arr_part = part.split("="); |
| 787 | + if (arr_part.length > 1) { |
| 788 | + obj[arr_part[0]] = part.replace(arr_part[0] + "=", ""); |
| 789 | + } |
| 790 | + }); |
| 791 | + } |
790 | 792 | return obj;
|
791 | 793 | };
|
792 | 794 |
|
|
0 commit comments