Я хотел бы применить наложение к элементу, на котором наводится символ, если он соответствует определенным критериям, или первому родительскому элементу, который соответствует критериям, если это не так.Выберите элемент или первый соответствующий родительский элемент с помощью jQuery
Учитывая следующий пример HTML и предполагая, я хочу, чтобы применить наложение к любому элементу с классом «соответствует»:
<div class='matches'>
some Text <span>some more text</span>
</div>
Я хотел бы его там, где, если пользователь наводит курсор на «какой-то текст» overlay применяется к div, и если они навешиваются над «некоторым текстом», наложение также применяется к div, так как это первый родитель с классом «совпадений».
Единственный способ, которым я могу думать, это следить за событием зависания на каждом отдельном элементе, который кажется очень неэффективным. Это нормально делать, или есть лучший способ сделать это?
Я попробовал это, и у меня возникают проблемы при получении его на работу, как хотелось бы. Глядя на мой пример выше, допустим, что тег span также включает класс совпадений. В этом случае, когда пользователь зависает над «некоторым текстом», я бы хотел, чтобы div был выделен. Когда они зависали над «некоторым текстом», мне хотелось бы, чтобы подсветка была удалена из div и применена к диапазону. Когда я тестирую это, я никогда не получаю событие, когда я перехожу в промежуток. Имеет ли это смысл? – NorthFork
думаю. Взгляните на это: http://jsfiddle.net/swwh8/. Если я понимаю, чего вы хотите, эта скрипка не совсем правильная, но она близка. Он работает, если вы переходите от внешнего элемента к внутреннему элементу, но не наоборот, потому что, когда вы переходите от внутреннего элемента к внешнему, наведение на внешний элемент не срабатывает, потому что технически, когда вы зависали внутренний элемент, вы также зависели от внешнего элемента. –
Я думаю, вы понимаете проблему и в значительной степени прибиваете ее. Вы правы, что я также хочу захватить, когда он покидает ребенка и возвращается к родителям. Я добавил строку к вашему образцу, и он отлично работал (по крайней мере, в этом супер простом сценарии). Для тех, кто нуждается в обновлении, вы можете получить его здесь http://jsfiddle.net/swwh8/1/ Спасибо! – NorthFork