【发布时间】:2013-06-18 00:02:40
【问题描述】:
我的页面上有一个 JQuery UI 菜单。我想更改选择项目时的默认行为,以便不跟随链接,而是执行我的函数。以下作品:
$mymenu.find("a").click(function(){
return false;
});
但是,它会阻止执行菜单中的“选择”事件。如果我删除它,“选择”事件会触发,类似于
$mymenu.menu({
select: function(event, ui) {
alert(ui.item.text());
}
});
但是,event.preventDefault() 或 event.stopPropagation() 都不会阻止链接被跟踪。以下内容阻止了链接被关注,但给了我同样的问题,即“选择”事件没有被触发。
$mymenu.find("a").click(function(e){
e.stopPropagation();
});
如何防止链接被关注但仍触发“选择”事件?
【问题讨论】:
-
你想使用 preventDefault() 并且它必须工作。你能用小提琴复制它吗?这是一个可以工作的小提琴。 jsfiddle.net/a6YWe。使用 preventPropagation 显然是错误的,因为它会阻止它冒泡并且不会到达您的选择事件。
标签: jquery jquery-ui jquery-ui-menu