| 2261 | ///////////////////////////////////////////// |
| 2262 | |
| 2263 | function jqLitePatchJQueryRemove(name, dispatchThis, filterElems, getterIfNoArguments) { |
| 2264 | var originalJqFn = jQuery.fn[name]; |
| 2265 | originalJqFn = originalJqFn.$original || originalJqFn; |
| 2266 | removePatch.$original = originalJqFn; |
| 2267 | jQuery.fn[name] = removePatch; |
| 2268 | |
| 2269 | function removePatch(param) { |
| 2270 | // jshint -W040 |
| 2271 | var list = filterElems && param ? [this.filter(param)] : [this], |
| 2272 | fireEvent = dispatchThis, |
| 2273 | set, setIndex, setLength, |
| 2274 | element, childIndex, childLength, children; |
| 2275 | |
| 2276 | if (!getterIfNoArguments || param != null) { |
| 2277 | while(list.length) { |
| 2278 | set = list.shift(); |
| 2279 | for(setIndex = 0, setLength = set.length; setIndex < setLength; setIndex++) { |
| 2280 | element = jqLite(set[setIndex]); |
| 2281 | if (fireEvent) { |
| 2282 | element.triggerHandler('$destroy'); |
| 2283 | } else { |
| 2284 | fireEvent = !fireEvent; |
| 2285 | } |
| 2286 | for(childIndex = 0, childLength = (children = element.children()).length; |
| 2287 | childIndex < childLength; |
| 2288 | childIndex++) { |
| 2289 | list.push(jQuery(children[childIndex])); |
| 2290 | } |
| 2291 | } |
| 2292 | } |
| 2293 | } |
| 2294 | return originalJqFn.apply(this, arguments); |
| 2295 | } |
| 2296 | } |
| 2297 | |
| 2298 | var SINGLE_TAG_REGEXP = /^<(\w+)\s*\/?>(?:<\/\1>|)$/; |
| 2299 | var HTML_REGEXP = /<|&#?\w+;/; |