Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.05.2016, 12:43
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 147

Как блокировать выполнение функции фреймворка при определённом условии?
Здравствуйте!

Скажите можно ли блокировать выполнение некоторой функции mootools фреймворка, только при условии клика по ссылке с определённым классом?

На сайте, если кликаешь пункт меню с подпунктами, а затем кликаешь другой пункт с подпунктами, то по цепочке вызовов в конце концов срабатывает функция Element.implement.setStyle, которая схлопывает первоначально раскрытый пункт, убирая зарезервированное под него место в строке основного меню.

Полный стэк вызов функций до исполнения Element.implement.setStyle на локальном сайте выглядит так:
Цитата:
Element.implement.setStyle (mootools-core-u…ressed.js:3774)
Element.implement.hide (mootools-more-u…ressed.js:3139)
jQuery.event.trigger (jquery.min.js:4614)
e.event.trigger (jquery-migrate.min.js:2)
(anonymous function) (jquery.min.js:5289)
jQuery.extend.each (jquery.min.js:384)
jQuery.fn.jQuery.each (jquery.min.js:136)
jQuery.fn.extend.trigger (jquery.min.js:5288)
(anonymous function) (bootstrap.js:839)
jQuery.extend.each (jquery.min.js:384)
jQuery.fn.jQuery.each (jquery.min.js:136)
clearMenus (bootstrap.js:832)
Dropdown.toggle (bootstrap.js:772)
jQuery.event.dispatch (jquery.min.js:4670)
elemData.handle (jquery.min.js:4338)
Спасибо

Последний раз редактировалось borus, 12.05.2016 в 13:07.
Ответить с цитированием
  #2 (permalink)  
Старый 12.05.2016, 14:53
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 147

надо было такой скрипт написать
$('header ul.navbar-nav li.dropdown a').on('click', function(){
if($(this).next().css("display")=="block"){
$(this).next().css("display", "none");
}
else{
$(this).parent().parent().find("ul").css("display" , "none");
$(this).next().css("display", "block");
}
return false;
});
причем return false здесь играет решающее значение в решении задачи
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать такой калькулятор при условии что товаров может быть 80-100 dimas15 Элементы интерфейса 10 17.02.2014 22:01
jQuery выполнение функции при условии. gameviktor Angular.js 1 28.01.2014 18:13
Контекст функции при вызове по таймеру Bombus Общие вопросы Javascript 15 14.11.2013 08:37
Подскажите, как работает простой код (замыкание функции)? Dotod Общие вопросы Javascript 5 02.12.2009 04:03
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24