javascript - 当 div (ng) 禁用时 ng-click 仍然会触发

标签 javascript angularjs

问题是 ng-click 可以处理这样的事件,如果 cancelTicket === false 它仍然会触发 ng-click。我怎样才能阻止它?

<div class="btn-block save-changes padding-10" ng-class="{'gray':cancelTicket===false,'secondary-button':cancelTicket===true}" ng-click="CancelTicket(ticketPin)" ng-disabled="cancelTicket===false" style="display: table;">
    <div class="button-container padding3" ng-class="{'pointer':cancelTicket===true}">
        <button-spinner promise="cancelPromise"></button-spinner>
        <div style="display: inline-block !important;"> @Translator.Translate("CANCEL") </div>
    </div>
</div>

最佳答案

即使 div 被禁用,事件也会被触发。

您可以通过使用诸如 isDisabled || 之类的表达式的惰性求值来避免这种情况action() 因此,如果 isDisabledtrue,则不会调用操作。

在您的情况下,它将是:

ng-click="cancelTicket === false || CancelTicket(ticketPin)"

关于javascript - 当 div (ng) 禁用时 ng-click 仍然会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32005918/

相关文章:

Javascript - 连接字符串/变量时使用 + 和 之间的区别?

javascript - 具有 jQuery 和完整 JS 支持的 Dreamweaver 最新版本是什么?

javascript - 与 AngularJS 的条件绑定(bind),如果属性不为空则连接并绑定(bind)值

javascript - 在 AngularJS 应用程序中使用 Lo-Dash 从 REST 返回总和

javascript - req.body 是未定义的意思是应用程序

javascript - 在 AngularJS Controller 和服务之间共享资源

javascript - youtube 嵌入视频自动播放不适用于谷歌浏览器中未静音的声音,而它适用于 firefox

javascript - 一般根据评估值禁用多个按钮

javascript - 延迟 AngularJS 中的整个页面加载,直到服务的 ajax 完成

javascript - 滥用 CSS 类属性或有效的设计模式?