我有一项服务,其中我绑定了一个点击事件:
$('button').click(function() {
alert('Clicked');
return false;
});
问题是当我没有以默认的“/”路线(即“/ testroute”)开始时,单击该按钮时会导致页面网址转到“/”并且根本不会触发我的事件。当路由更改为“/”后再次单击它时,事件将正常触发。我怎么做到这样,如果我从/ testroute开始(即使它有相同的视图,不同的控制器,但共享相同的服务,警报会触发?
答案 0 :(得分:2)
您可能希望使用these事件来阻止路由更改。
答案 1 :(得分:2)
使用locationChangeStart。另请阅读Andrey发布的链接。
$rootScope.$on('$locationChangeStart', function(e) {
e.preventDefault();
});