我正在制作一个Bootstrap复选框下拉列表,选项包含在<a>
处理点击的标签中,但我也有一个<input type="checkbox">
a-tag内部.
当用户按下实际复选框而不是<a>
元素时,我的问题就出现了.两者都被点击,发生了一些冲突.复选框检查状态应该反转但不是.
在Angular1中,只需在复选框上单击使用preventDefault(),但在我的angular2-test中,它会阻止复选框更新其状态.
需要帮助我做错了什么.
<ul>
<li *ngFor="#option of options">
<a href="" role="menuitem" tabindex="-1" (click)="setSelected($event, option)">
<input type="checkbox" [checked]="isSelected(option)" (click)="checkboxClick($event)" /> {{ option.name }}
</a>
</ul>
Run Code Online (Sandbox Code Playgroud)
Plunker:https://plnkr.co/edit/6D5GQ9mnaMALNnPzf5Na
单击右侧的链接时单击复选框时,我想要相同的行为.
只需添加;false
到事件处理程序表达式.返回错误的结果preventDefault()
<input type="checkbox" [checked]="isSelected(option)" (click)="checkboxClick($event);false" /> {{ option.name }}
Run Code Online (Sandbox Code Playgroud)
如果你返回false,你会得到相同的效果 checkboxClick()