Odpowiednik crossbrowser dla parametru zdarzenia jawOriginalTarget

Czy ktoś wie o odpowiedniku crossbrowser dla parametru zdarzenia expressOriginalTarget? Ten parametr jest specyficzny dla Mozilli i daje mi element, który spowodował rozmycie. Powiedzmy, że mam wpis tekstowy i link na mojej stronie. Wprowadzanie tekstu ma fokus. Jeśli kliknę na link, zdarzenie rozmycia wpisywania tekstu daje mi element link w Firefoksie za pomocą parametru explicitOriginalTarget.

Rozszerzam metodę onBlur Autocompleter.Base, aby nie ukrywać wyników wyszukiwania, gdy pole wyszukiwania straci ostrość na dane elementy. Domyślnie metoda onBlur ukrywa, jeśli pole wyszukiwania straci ostrość na dowolnym elemencie.

Autocompleter.Base.prototype.onBlur = Autocompleter.Base.prototype.onBlur.wrap(
function(origfunc, ev) {
    var newTargetElement = (ev.explicitOriginalTarget.nodeType == 3 ? ev.explicitOriginalTarget.parentNode: ev.explicitOriginalTarget); // FIX: This works only in firefox because of event's explicitOriginalTarget property
    var callOriginalFunction = true;
    for (i = 0; i < obj.options.validEventElements.length; i++) {
        if ($(obj.options.validEventElements[i])) {
            if (newTargetElement.descendantOf($(obj.options.validEventElements[i])) == true || newTargetElement == $(obj.options.validEventElements[i])) {
                callOriginalFunction = false;
                break;
            }
        }
    }
    if (callOriginalFunction) {
        return origFunc(ev);
    }
}
);


new Ajax.Autocompleter("search-field", "search-results", 'getresults.php', { validEventElements: ['search-field','result-count'] });

Dzięki.

questionAnswers(6)

yourAnswerToTheQuestion