[ 
https://issues.apache.org/jira/browse/TOBAGO-1325?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Udo Schnurpfeil resolved TOBAGO-1325.
-------------------------------------
    Resolution: Fixed

> jQuery too slow in IE8: Tobago.Util.selectWithJQuery()
> ------------------------------------------------------
>
>                 Key: TOBAGO-1325
>                 URL: https://issues.apache.org/jira/browse/TOBAGO-1325
>             Project: MyFaces Tobago
>          Issue Type: Improvement
>          Components: Themes
>    Affects Versions: 2.0.0-alpha-2
>         Environment: IE8
>            Reporter: Volker Weber
>            Assignee: Udo Schnurpfeil
>             Fix For: 2.0.5
>
>
> Following changes to selectWidthJQuery improves performance in IE8 at 300 
> times.
> {code}
> Tobago.Utils.selectWidthJQuery = function(elements, selector) {
>   if (Tobago.browser.isMsie678 && elements != null
>       && (selector.match(/^\[[-_a-zA-Z0-9]+\]$/) || selector == "input, 
> select, textarea, a, button")) {
>     var founds = new Array();
>     if (selector.match(/^\[[-_a-zA-Z0-9]+\]$/)) {
>       Tobago.Utils.ieFilterAttributes(elements.get(0), selector.substr(1, 
> selector.length - 2), founds);
>     } else if (selector == "input, select, textarea, a, button") {
>       Tobago.Utils.ieFilterTags(elements.get(0), "INPUT", founds);
>       Tobago.Utils.ieFilterTags(elements.get(0), "SELECT", founds);
>       Tobago.Utils.ieFilterTags(elements.get(0), "TEXTAREA", founds);
>       Tobago.Utils.ieFilterTags(elements.get(0), "A", founds);
>       Tobago.Utils.ieFilterTags(elements.get(0), "BUTTON", founds);
>     }
>     return jQuery(founds);
>   } else {
>     return elements == null
>         ? jQuery(selector)
>         : elements.find(selector).add(elements.filter(selector));
>   }
> };
> Tobago.Utils.ieFilterTags = function (element, tagName, result) {
>   if (element.tagName == tagName) {
>     result.push(element);
>   }
>   for (var i = 0; i < element.childNodes.length; i++) {
>     Tobago.Utils.ieFilterTags(element.childNodes[i], tagName, result);
>   }
> };
> Tobago.Utils.ieFilterAttributes = function (element, filter, result) {
>   if (element[filter] !== undefined) {
>     result.push(element);
>   }
>   for (var i = 0; i < element.childNodes.length; i++) {
>     Tobago.Utils.ieFilterAttributes(element.childNodes[i], filter, result);
>   }
> };
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to