Angularjs 防止复选框上出现默认值不会';t防止ng模型更改
由于某些动画,如果用户太快切换复选框的状态,则会出现视觉故障 为了防止这种情况发生,我想限制改变状态的频率。我认为一个简洁的方法是一个指令 我已经成功地制定了一个指令,防止Angularjs 防止复选框上出现默认值不会';t防止ng模型更改,angularjs,checkbox,angularjs-ng-model,Angularjs,Checkbox,Angularjs Ng Model,由于某些动画,如果用户太快切换复选框的状态,则会出现视觉故障 为了防止这种情况发生,我想限制改变状态的频率。我认为一个简洁的方法是一个指令 我已经成功地制定了一个指令,防止ng click以超过特定频率触发,但复选框有一个特定问题 以下是指令代码(coffeescript): 这也说明了我的问题 总结 ngModel在单击其上指定的复选框时被更新,即使默认设置被阻止,导致复选框从不被选中。我怎样才能避免这种情况 理想情况下,我不想与ngModelController集成,因为我希望使指令尽可能抽
ng click
以超过特定频率触发,但复选框有一个特定问题
以下是指令代码(coffeescript):
这也说明了我的问题
总结
ngModel
在单击其上指定的复选框时被更新,即使默认设置被阻止,导致复选框从不被选中。我怎样才能避免这种情况
理想情况下,我不想与
ngModelController
集成,因为我希望使指令尽可能抽象。ng model
指令在预链接阶段绑定事件。因此stopPropagation不起作用
在预链接而不是后链接中处理您的逻辑
这是更新的plunker 您添加的plunker为空。请更新它。谢谢你指出这一点-我忘了点击保存。尝试新链接。
angular.directive 'pxnMaxClickFreq', ($timeout)->
restrict: 'A'
# Make sure our event binding runs before any other directive
priority: -100
link: (scope, element, attributes)->
timer = false
element.on 'click', (e)->
if timer
e.preventDefault()
e.stopImmediatePropagation()
else
timer = true
$timeout( (-> timer = false), attributes.pxnMaxClickFreq )