我有一个链接ui-sref属性和一个jQuery touch事件,但问题是,当我点击这个元素时,jQuery处理程序正在运行,但ui-sref没有。
Jquery的:
$('#fa-bar, #mobile-nav li').on('touchstart', function( e ) {
e.stopPropagation();
$('#mobile-nav').toggleClass('toggle-mobile-nav');
$('#mobile-nav').toggleClass('prevent-scroll');
});
HTML:
<li ui-sref="state" ui-sref-active="nav-active"><a>Link</a></li>
答案 0 :(得分:0)
请参阅https://github.com/npm/npm/issues/3697和此docs:
但是,stopEvent还会调用事件对象方法event.stopPropagation,该方法可以防止事件进一步冒泡到DOM中。请注意,表本身有一个onclick事件处理程序,在单击表时应该显示一条消息。但是stopEvent方法已停止传播,因此在更新表中的数据后,事件阶段将有效结束,并显示一个警告框以确认这一点。
这是纯粹的javascript,也适用于AngularJS。您对c.a
的呼叫会阻止ui-router获取该事件。如果您想要为某些内容添加URL(因此您仍然可以使用浏览器中的open-in-new-tab功能),这有时会很方便,但希望在正常点击时有不同的行为。
答案 1 :(得分:0)
ui-router
使用最新或至少0.3.2<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.2/angular-ui-router.min.js"></script>