Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.10.2010, 16:16
Новичок на форуме
Отправить личное сообщение для solarix Посмотреть профиль Найти все сообщения от solarix
 
Регистрация: 29.10.2010
Сообщений: 1

jQuery object в xpath. Глобальные события
Привет.
недавно перешёл на jQuery, поэтому извиняюсь за ламерский уровень вопросов (их собственно 2), однако, сам я ничего нагуглить, к сожалению, не смог.

1. подскажите плагин к jQuery позволяющий по объекту jQuery(или по самому элементу DOM) построить полное выражение xpath к данной ноде. Про Base xpath знаю, но он предназначен для обратной задачи (по xpath получить ноду, то есть как компенсация вырезания xpath селекторов из jquery 1.2, как я понял). Разумеется, вариант написать самому приветствуется, но только если нет что-ли стандартного плагина, дабы не изобретать велосипеды. Кроме того, мне нужно построение правильного (со всеми атрибутами и т.д.) xpath выражения в соотв. со стандартом W3C, поэтому, хотелось бы воспользоваться уже проверенным решением, если таковое имеется.

2. Как средствами jQuery вешаются глобальные перехватчики каких-либо событий для всех элементов?
То есть, нужно перехватывать, например все события click в одном методе, вне зависимости от того, какому элементу предназначается это событие.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 29.10.2010, 16:40
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

1. Всё им плагины подавай.
function getXPath(el) {
        var xpath = '/' + el.tagName.toLowerCase(), number = 1;
        if (el.parentNode && el.parentNode != document) {
            var prev = el.previousSibling;
            while (prev) {
                if (prev.tagName == el.tagName) {
                    number++;
                }
                prev = prev.previousSibling;
            }
            if (number > 1) {
                xpath += '[' + number + ']';
            }
            xpath = getXPath(el.parentNode) + xpath;
        }
        return xpath;
    }


2. На document вешается событие.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
События Jquery и не только Tohin Events/DOM/Window 3 21.08.2009 14:57
Обработчик события: как делает jquery? Shasoft jQuery 35 22.04.2009 09:41