在多个复选框的列表中,我有一个"其他"复选框,用户可以在其中插入一些文本。这被定义为:
<md-checkbox class="md-checkbox-interactive" ng-model="$ctrl.someVar">
<input type="text" placeholder="Placeholder" ng-model="$ctrl.someVarText">
</md-checkbox>
类md-checkbox-interactive
用于允许input
元素上的指针事件:
md-checkbox.md-checkbox-interactive {
.md-label {
input {
pointer-events: all;
}
}
}
这是从关于单选按钮的类似问题的以下答案中获取的:https://stackoverflow.com/a/33304119/2051151
但是,每当我选择输入元素时,都会切换复选框。我在这里缺少什么?
答案 0 :(得分:0)
经过一些搜索后,我发现我需要在input
元素上添加以下内容:
ng-click="$ctrl.onClickInput($event)"
其中函数定义为:
this.onClickInput = function (event)
{
// Prevent the click event to propagate
event.stopPropagation();
// But toggle the checkbox if necessary
if (!vm.someVar) vm.someVar = true;
}
这样可以防止意外切换复选框。