我有一个带有dataSource的kendo网格,网格有一个带保存按钮的编辑器对话框。我需要阻止双击保存按钮。单击保存按钮时会激活onsave功能。我有一个requestEnd事件,在重新启用保存时触发。
问题:onSave1在100中看起来失败1次。它基于添加额外的单击处理程序,调用preventDefault()。它存在根本缺陷吗?
onSave2更好吗?
onSave1: function (e) {
$(event.srcElement)
.addClass("k-state-disabled")
.bind("click", disable = function (e) { e.preventDefault(); return false; })
this.dataSource.one("requestEnd", function () {
$("[data-role=window] .k-grid-update")
.off("click", disable)
.removeClass("k-state-disabled");
})
}
onSave2: function (e) {
$(event.srcElement)
.removeClass(".k-grid-update")
.addClass("k-state-disabled")
.addClass("disabledMarker");
this.dataSource.one("requestEnd", function () {
$("[data-role=window] .disabledMarker")
.addClass(".k-grid-update")
.removeClass("k-state-disabled")
.removeClass("disabledMarker");
})
}
答案 0 :(得分:0)
自版本3.0以来,第一个Jquery绑定已被弃用,因此我建议不再使用它。 http://api.jquery.com/bind/
您不需要onClick事件或在您的案例中绑定,因为在单击期间已经调用了onSave。所以只需禁用onSave按钮。其次,你应该使用完整或任何kendo网格用于替换完成保存事件或requestEnd。代码如下。
onSave: {$(event.srcElement)addClass("k-state-disabled")}, complete:{ $(event.srcElement)removeClass("k-state-disabled")};