禁用按钮以便 Knockout.js 不会发生双击的最佳方法是什么?我有一些用户快速点击导致多个 ajax 请求。我认为 knockout.js 可以通过多种方式处理这个问题,并希望看到一些替代方案。
使用信号量(旋转锁)。基本上,您计算一个元素已注册的点击次数,如果超过 1,则返回 false 并且不允许后续点击。可以使用超时功能来清除锁定,以便他们可以在 5 秒后再次点击。您可以修改示例http://knockoutjs.com/documentation/click-binding.html http://knockoutjs.com/documentation/click-binding.html
正如这里所见:
<div>
You've clicked <span data-bind="text: numberOfClicks"></span> times
<button data-bind="click: incrementClickCounter">Click me</button>
</div>
<script type="text/javascript">
var viewModel = {
numberOfClicks : ko.observable(0),
incrementClickCounter : function() {
var previousCount = this.numberOfClicks();
this.numberOfClicks(previousCount + 1);
}
};
</script>
通过将嵌套函数内部的逻辑更改为
if( this.numberOfClicks() > 1 ){
//TODO: Handle multiple clicks or simply return false
// and perhaps implement a timeout which clears the lockout
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)