Родительские элементы
Добрый день допустим есть такая верстка
<div class='one'> <div class='two'> <div class='click'> С него переходим </div> </div> </div> <div class='one'> <div class='two'> <div class='three'> <div class='click'> На него переходим </div> </div> </div> </div> <div class='one'> <div class='click'> На него переходим </div> </div> При переведение курсора с одного элемента с классом 'click' на другой мне нужно получить индексы элемента с классом 'one'. Индекс с которого перешли и индекс на который перешли проблема заключаеться в том, что я не могу найти нужного оператора поиска родителя. Т.к. структура блоков разная. Естествено parent() Тут не подходит. Ну или я не могу понять как правильно им воспользоваться. пример js кода (Неправильный пример=DDD) $('.click').mouseleave(function(e){ alert($( e.relatedTarget ).parent().index()); alert($(this).parent().index()); }); Заранее большое спасибо. |
Shuryga,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(function() { var one = $(".one"), old = "null"; one.on("mouseenter", ".click, .click-on", function(event) { var index = one.index(event.delegateTarget); $("p").html("from " + old + " to " + index); old = index; }) }); </script> </head> <body> <p>index</p> <div class='one'> <div class='two'> <div class='click'> С него переходим </div> </div> </div> <div class='one'> <div class='two'> <div class='three'> <div class='click-on'> На него переходим </div> </div> </div> </div> <div class='one'> <div class='click-on'> На него переходим </div> </div> </body> </html> |
Большое спасибо за ответ.
Пытаюсь сделать так: $('.click').mouseleave(function(e){ alert($('.one').index(e.delegateTarget)); }); Но получаю "-1" delegateTarget работает только с делегированием? |
Все Вижу что только с делегированием.
|
Есть один ньюанс. Событие должно происходить когда мышка покидает блок (К сожалению это обязательно)
Пробую так $('.one').on("mouseleave", ".click", function(event) { alert($('.one').index(event.delegateTarget)); alert($('.one').index(event.currentTarget)); }); С какого ухожу я получаю индекс. А на который перехожу не получаю( |
Цитата:
Цитата:
|
Нашел решение всем большое спасибо )))))))))))))))))))
$('.click').mouseleave(function(e){ alert($(this).closest('.one').index('.one')); alert($( e.relatedTarget ).closest('.one').index('.one')); }); |
Часовой пояс GMT +3, время: 11:28. |