【问题标题】:Stop propagation on angular-toggle-switch在角度切换开关上停止传播
【发布时间】:2016-06-07 02:03:49
【问题描述】:

我遇到了 angular-toggle-switch 的问题:

我有一个表格。如果此表单已被修改且未保存,当我单击链接时,它会显示“#enregistrementModal”模式。

模态:

<div class="modal-body">
    Please save your informations before continue.
    <button type="button" data-dismiss="modal">×</button>
</div>

HTML:

<a id="popoverDeleting" data-toggle="modal" data-target="#closingModal">Supprimer mon compte</a>

Javascript:

$('#popoverDeleting').on('click', function (event) {
    if (vm.isLocked == false && $('#submitDonneeForm').prop("disabled") == false) {
        $('#enregistrementModal').modal();
        event.preventDefault();
        event.stopPropagation();
        return;
    }
 })

我的问题:

当我点击我的切换开关时,我无法在 javascript 上恢复 $event。然后我无法停止传播,无论如何它都会从 true 切换到 false。

切换开关:

<toggle-switch id="toggleMail" model="vm.isMailChecked" on-change="vm.saveCanalMail()" on-label="Oui" off-label="Non"></toggle-switch>

如何停止切换开关的传播并在之前显示我的模式?

提前谢谢你。

【问题讨论】:

    标签: javascript c# angularjs events toggle


    【解决方案1】:

    不要使用 Javascript 点击处理程序,而是使用 ng-click 指令。使用它,您可以将$event 作为参数传递:

    vm.clickHandler = function clickHandler(event) {
        if (vm.isLocked == false && $('#submitDonneeForm').prop("disabled") == false) {
            $('#enregistrementModal').modal();
            event.preventDefault();
            event.stopPropagation();
        }
    

    在您的 HTML 中:

    <toggle-switch id="toggleMail" model="vm.isMailChecked" ng-click="vm.clickHandler($event)" ng-change="vm.saveCanalMail()" on-label="Oui" off-label="Non"></toggle-switch>
    

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-23
      • 2021-12-26
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      相关资源
      最近更新 更多