首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ng-click传递的$event未定义

使用ng-click传递的$event未定义
EN

Stack Overflow用户
提问于 2014-12-13 01:49:08
回答 2查看 13.4K关注 0票数 15

为什么在toggleDropdown函数中传递的$event对象是未定义的?

这是来自:http://plnkr.co/edit/koNsQycAAiEmI8jBApS2?p=preview的原始代码

除了原始代码没有在按钮标记中定义toggleDropdown函数之外。我这样做是因为原始代码无法在我的计算机上打开下拉列表。

我使用angularjs 1.3.2和angularjs-bootstrap 0.11.2

代码语言:javascript
复制
'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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-13 01:57:22

您必须显式指定要传递的$event变量:

代码语言:javascript
复制
<button ng-click="toggleDropdown($event)">
票数 13
EN

Stack Overflow用户

发布于 2014-12-13 02:08:01

在我看来,您也需要加载jQuery才能获得有意义的事件对象。看看我的叉子吧:http://plnkr.co/edit/ZpQuz1?p=preview

代码语言:javascript
复制
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27449282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档