#jquery
#jquery
Вопрос:
Мне было интересно, как я мог бы отменить щелчок, вызванный в этой функции при наведении курсора мыши на «a.menu-arrow»? Смотрите код ниже:
$(".menu-arrow").hover(function() {
$.data(this, "timer", setTimeout($.proxy(function() {
$(this).click();
}, this), 500));
}, function() {
clearTimeout($.data(this, "timer"));
});
Что происходит после 0,5 секунды наведения курсора мыши на стрелку.menu … запускается щелчок, показывающий соседний div, содержащий подменю. К сожалению, HTML структурирован именно так.
Любая помощь была бы высоко оценена.
Извините, я новичок в JavaScript и jQuery
Ответ №1:
В вашем коде $(this).click()
бесполезно использовать функцию обработчика событий без функции, чтобы вызвать событие, фактически вам нужно использовать .trigger() для элемента, я полагаю, у вас была соответствующая функция обработчика событий, написанная ранее.
Ссылка : .trigger(), .data()
Комментарии:
1. Извините, что я реализовал
.trigger('click');
, но он скрывал соседний div подменю при наведении курсора мыши на.menu-arrow2. Извините, нет … к сожалению, это система меню системы интрасети, над которой я работаю
3. @Avinash — как я могу написать аналогичную функцию. Допустим, при наведении курсора мыши на.no-submenu … если я зависал над этим в течение 1 секунды … тогда для следующего соседнего DIV устанавливается значение .hide();
4. @nasir, на вашей странице firebug отображается
$(".menu-arrow")
как NULL. это означает, что элемент с именем классаmenu-arrow
отсутствует на вашей странице. пожалуйста, найдите время, чтобы обновить вашу страницу и еще кое-что, просто опубликуйте требуемый модуль вашего вопроса, сложно выполнить поиск по всей странице. Поняли мою точку зрения?