Angularjs angular在一次单击中执行两次单击功能
我的django应用程序模板中有以下代码:Angularjs angular在一次单击中执行两次单击功能,angularjs,twitter-bootstrap,Angularjs,Twitter Bootstrap,我的django应用程序模板中有以下代码: <div class="list-group"> <a ng-repeat="prog in programs | orderBy:'academic_program.program_title' | orderBy:'primary_program':true" href="/acadprog/{{prog.academic_program.acad_program_code}}/" ng-click="
<div class="list-group">
<a ng-repeat="prog in programs | orderBy:'academic_program.program_title' | orderBy:'primary_program':true" href="/acadprog/{{prog.academic_program.acad_program_code}}/" ng-click="display.addprogram = false" class="list-group-item">
{{prog.academic_program.program_title}}
<span
ng-if="prog.primary_program == true"
class="glyphicon glyphicon-flag pull-right"
ng-click="open2()">
</span>
<div style="padding-bottom:5px;">
<span class="badge badge-success">{{prog.credits_completed}}</span>
<span class="badge badge-info">{{prog.academic_program.required_credits}}</span>
</div>
</a>
</div>
这里,open2()
函数在单击标志时打开一个模式对话框。模式工作正常,每当我删除我的
标记中href中的内容时,该模式就会打开。但是当我在那些hrefs中输入url时,它们就不再打开了。可能会发生什么?我怎样才能避开它
我发现这个问题是因为点击标志也会在列表上执行点击功能,因此它会重新加载整个视图!如何防止href列表上出现单击功能?您需要将事件传递给
open2
函数并在其上设置preventDefault()
<span ng-if="prog.primary_program == true"
class="glyphicon glyphicon-flag pull-right"
ng-click="open2($event)">
$scope.open2 = function(e) {
e.preventDefault();
//do other stuff
}
$scope.open2=函数(e){
e、 预防默认值();
//做其他事情
}