当前位置: 首页 > 面试题库 >

AngularJS ng-click触发两次

欧博简
2023-03-14
问题内容

我使用的是ng-click,将其应用于SPAN标签时会触发两次。

HTML

<div ng-app="regApp" ng-controller="RegistrationCtrl" data-ng-init="GetEventDetail()" ng-show="data.EventName">

    <h2>Registration for {{data.EventName}}</h2>
    <span class="btn" id="btnSave" ng-click="PostRegistration()">Save </span>

</div>

控制器

var app = angular.module('regApp', ['ui']);

app.controller('RegistrationCtrl', function ($scope, $http) {
    $scope.PostRegistration = function () {
    alert('click '); <--- fires twice
    /// some code here -- 
};

它应该只发射一次。我如何找到这种情况的发生原因以及如何解决?


问题答案:

您提供的代码不会两次触发该事件:

http://jsfiddle.net/kNL6E/(单击Save

也许您两次包含Angular?如果执行此操作,则会收到两个警报,如下所示:

http://jsfiddle.net/kNL6E/1/



 类似资料:
  • 问题内容: 使用angular.js给出以下代码 此处的Plunkr:http://plnkr.co/edit/i4MAzs HTML: Javascript: 当您点击“ Value2”标签时,click事件将触发两次。仅当ng-click附加到标签时才会发生这种情况。将其附加到输入元素后,所有内容都会按预期工作。 有人可以解释发生了什么吗? 问题答案: 另外,我还编辑了您的plnkr以显示事件

  • 问题内容: 我正在尝试创建一些放置适当的说明性工具提示,用户可以单击这些提示以了解站点界面的工作方式。每个工具提示都有一个“下一个”链接,可通过修改类(因此更改为CSS)来切换上一个和下一个工具提示的可见性。 这是应该执行此操作的一些简化代码: 当我将此代码粘贴到控制台中时(或在页面加载时)立即调用(并正确切换类)。如果我将替换为,则按预期触发。我究竟做错了什么? 问题答案: 当您绑定事件时,您就

  • 我已经在我的网站上设置了GTM,我有一个在以下条件下触发的触发器 触发器的GTM条件 当我测试标签时,它不会启动。我检查了元素的值为 那么,当我使用regex或contains操作符时,为什么GTM不起作用呢。还有其他人面临过这个问题吗? 此页上几乎没有触发器(https://luminaryproperties.co.uk/venturing-into-your-first-off-plan/?

  • 问题内容: 我正在尝试在应用程序中使用AngularJS,并在某种程度上取得了成功。 我能够获取数据并将其显示给用户。我有一个按钮,我想通过该按钮发布DELETE请求。下面是我的代码。 这是获取信息并将其显示给用户的功能。 数据已获取并正确显示。 但是,单击删除按钮后,不会触发其中的代码。在GoogleChrome浏览器的开发人员工具中,我可以看到为代码生成了有效值,但未触发代码。从我尝试去掉花括

  • 使用jQuery-1.9.1。js和jQueryMobile 1.3.1(Chrome 26/Windows 7)我不明白为什么这些“点击”事件绑定到#一个触发,而另一个没有: 超文本标记语言: JavaScript: 当我在JSFiddle中运行它时,两个事件都会在没有包装在“mobile einit”事件中时触发:http://jsfiddle.net/9NRwa/ 我错过了什么?

  • 问题内容: 出于某种原因,每当我在循环使用时按一下该键,此后的代码将立即执行两次。如果不在循环中,它将执行一次!为什么是这样? 这是一个测试它的代码片段: 问题答案: 发生这种情况的原因是,当您按Enter键时,System.in.read()将注册两个字符。应该将其用作扫描仪的更复杂版本,而不是使用扫描仪来执行Scanner.nextLine()或Scanner.nextInt()来返回字符串或