我为Angular中的Highcharts构建了几个切换按钮。但是,我的问题更多的是一般的javascript问题而不是Angular或Highcharts,因为我在使用复选框严格使用jQuery时会弹出这个问题。
这是我的问题:当切换复选框时,我有时会单击复选框的外边缘或者在附近打开另一个下拉列表,发现虽然点击功能仍然会触发,但框状态不会改变。
例如,如果您打开附近的引导程序下拉框,然后在下拉列表打开时单击复选框,则输入复选框会很奇怪,并且不会更改状态但仍会触发预期的功能。
为了使复选框本身正确,我必须重新切换状态按钮以匹配应该在该状态下触发的函数。
这是一个小视频片段,说明了我的例子:
http://screencast.com/t/YRaDchstI
<input type="checkbox" ng-model="check1" ng-click="toggleGrp(check1)" value="{true: check1 == true}">
尽管使用了值=&#34; {true:check1 == true}&#34;作为确定盒子是否处于检查状态的故障保护,结果是不一致的。
我可以在JS中做些什么来阻止这种情况,还是这需要我更多的黑客攻击?我想我是否可以解决这个问题,我必须创建一个隐藏在按钮顶部的隐藏框,并在附近的下拉框打开时显示。
答案 0 :(得分:0)
我发现如果我从一个按钮切换范围,我可以远程触发输入复选框,按钮的行为相同,无论附近是否有扩展下拉列表。
<button type="button" class="btn"
ng-click="check1 = !check1"
ng-class="{active: check1}"></button>
<input type="checkbox"
ng-model="check1"
ng-click="toggleGrp(check1)"
style="visibility: hidden;">