- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В общем есть div, в нем например пара <a>
На див прописан onMouseOut='$(this).hide()'
Вопрос - как сделать так чтобы это событие не срабатывало при наведении на ссылки ВНУТРИ дива?
а как оно тогда будет )) если ты прячешь слой то всё что в нем тоже спрячется )))
если только поизголяться и прописать к ссылкам onMouseOut='$(this).unhide()' хотя не сработает скорее всего так как они будут скрыты уже при наведении на слой ) Хотя чёрт знает )
лучше юзай innerHTML
Неееее, ты не понял.
Мне как раз и не нужно прятать элемент пока курсор внутри него. Но onMouseOut срабатывает когда я навожу на любые дочерние элементы внутри дива к которому обработчик привязан
neolord - учите просто DOM
Тогда поймете как что работает в документе ;)
Неееее, ты не понял.
Мне как раз и не нужно прятать элемент пока курсор внутри него. Но onMouseOut срабатывает когда я навожу на любые дочерние элементы внутри дива к которому обработчик привязан
ну выход я думаю только один в твоём варианте, выносить слой и указывать ему позицию через css и zindex )) хотя чёрт его знает, не понял что нужно, если бы показал пример что именно нужно, может там просто замена слоя нужна, кто его знает. Покажи пример хотя бы что у тебя реализовать нужно.
neolord, общий обработчик onMouseOut нужно прописать на весь документ, а внутри обработчика проверку на id нужного блока.
Если совсем в лоб, то можно приблизительно так:
Скрипт в js-файл. Файл подключаем к документу в секции <HEAD>.
З.Ы.
Совет: всегда лучше так делать, а не вешать обработчики прямо внутри HTML.
neolord - учите просто DOM
Тогда поймете как что работает в документе ;)
Не - он prototype и jquery учит - зачем ему DOM!
😂
neolord - второй раз за день уже на эти грабли! А убеждал - FW это добро... :)
Плюнь на них и жизнь станет проще... Вон глянь СКОРПИОН какой красивый кодинг показывает - и все сразу понятно, достаточно только посмотреть. Это не хз что в виде: $(this).hide()
neolord - учите просто DOM
Тогда поймете как что работает в документе ;)
Не надо выпендриваться, я знаю что такое дом, и знаю что такое пузырьковая обработка событий, и что такое event capture я тоже знаю, только вот вопроса это не снимает.
ну выход я думаю только один в твоём варианте, выносить слой и указывать ему позицию через css и zindex )) хотя чёрт его знает, не понял что нужно, если бы показал пример что именно нужно, может там просто замена слоя нужна, кто его знает. Покажи пример хотя бы что у тебя реализовать нужно.
Если положить слой с z-index то ссылки не кликабельные будут =)
суть такая
Когда я навожу на ссылки - див исчезает. А не должен. Но должен исчезнуть когда я за его пределы выхожу. Теперь суть ясна?
neolord, общий обработчик onMouseOut нужно прописать на весь документ, а внутри обработчика проверку на id нужного блока.
Если совсем в лоб, то можно приблизительно так:
В данном случае этот изврат нужен только для IE, IE мне не нужен. Я в курсе как привязывать прослушку событий, я указал его в коде для понятности и краткости.
Но проблемы это не решает - куда мышь не выводи, что наружу что внутрь, target всегда равен ссылке на див из которого вышла мышка. См. выше на мой ответ Роману.
Не - он prototype и jquery учит - зачем ему DOM!
😂
neolord - второй раз за день уже на эти грабли! А убеждал - FW это добро... :)
Плюнь на них и жизнь станет проще... Вон глянь СКОРПИОН какой красивый кодинг показывает - и все сразу понятно, достаточно только посмотреть. Это не хз что в виде: $(this).hide()
ФВ здесь совершенно не при чем, DOM структуру узла я чуть ли не на память могу расписать, $(this).hide() Ровно то же самое что this.style.display='none'. Ну хорошо, можно вместо this отсылать к event.target (что на самом деле и делается)
знаю что такое пузырьковая обработка событий
Блин если серьезно то я про "пузырьковую обработку" нифига не знаю! Т.е. про "пузырьковую" знаю - это когда пукнешь в лужу, а вот как это событие обрабатывать - ума не приложу... 😂😂😂
neolord по сути - кончай выпендриваться - никто в твоем профессионализме не сомневается. Просто "задвигнутость" на обработках всего и вся через FW реально мешает тебе понять простые ходы для решения простых в принципе задач...
А они есть - поверь! Надо просто забыть про всякую требуху - которая написана исключительно для совсем дебилов, которые ее изучают, не изучив предварительно то на чем она написана.
В методе hover jQuery в принципе умеет правильно обрабатывать вложенность обьектов.
Так что можно что-то вроде:
$('#myDivId').hover(function() {}, function() { $(this).hide() });
neolord, решил я эту задачу, самому интересно стало. Надо не от outa, а от overa плясать (понятно, ведь, почему - в противном случае нарушается событийная модель).
Чуть изменил приведённый ранее пример. Вот рабочий код:
Вот HTML, где действие функции было проверено: