为什么在toggleDropdown函数中传递的$event对象是未定义的?
这是来自:http://plnkr.co/edit/koNsQycAAiEmI8jBApS2?p=preview的原始代码
除了原始代码没有在按钮标记中定义toggleDropdown函数之外。我这样做是因为原始代码无法在我的计算机上打开下拉列表。
我使用angularjs 1.3.2和angularjs-bootstrap 0.11.2
'use strict';
angular.module('auth').controller('AccountController', function ($scope) {
$scope.status = {
isopen: false
};
$scope.toggleDropdown = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.status.isopen = !$scope.status.isopen;
};
});
<!-- Single button -->
<div class="btn-group" dropdown is-open="status.isopen">
<button ng-click="toggleDropdown()" type="button" class="btn btn-primary dropdown-toggle" dropdown-toggle ng-disabled="disabled">
Button dropdown <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div>发布于 2014-12-13 01:57:22
您必须显式指定要传递的$event变量:
<button ng-click="toggleDropdown($event)">发布于 2014-12-13 02:08:01
在我看来,您也需要加载jQuery才能获得有意义的事件对象。看看我的叉子吧:http://plnkr.co/edit/ZpQuz1?p=preview
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>https://stackoverflow.com/questions/27449282
复制相似问题