У меня есть меню пользовательского интерфейса JQuery на моей странице. Я хочу изменить поведение по умолчанию, когда элемент выбран, так что вместо того, чтобы следовать ссылке, моя функция просто выполняется. Следующие работы:JQuery UI Пункт меню запрещает поведение по умолчанию по умолчанию
$mymenu.find("a").click(function(){
return false;
});
Однако, это предотвращает выполнение события «select» в меню. Если удалить его, «выберите» триггеры событий, что-то вроде
$mymenu.menu({
select: function(event, ui) {
alert(ui.item.text());
}
});
Однако ни event.preventDefault()
или event.stopPropagation()
прекращает связь с ним следят. Следующее останавливает связь от ссылки, но дает мне ту же проблему, что и событие «select» не запускается.
$mymenu.find("a").click(function(e){
e.stopPropagation();
});
Как я могу препятствовать выполнению ссылки, но все еще запускает событие «выбрать»?
Вы хотите использовать preventDefault(), и он должен работать. Можете ли вы воспроизвести его на скрипке? Вот скрипка, где она работает. http://jsfiddle.net/a6YWe/. Использование preventPropagation, очевидно, неверно, поскольку это предотвратит его пузыри и не достигнет вашего выбранного события. – PSL