我正在尝试自定义KoGrid的过滤器,以便我可以根据“从-到”逻辑过滤包含日期数据的列(可以在此处找到带有过滤器的 KoGrid 示例)。我想要的是在单击适当的过滤器字段时显示一个对话框,其中包含使用 Datepicker 的 From 和 To 输入。
var vm = {
filterInfo: ko.observable(),
myObsArray: arr
};
ko.applyBindings(vm);
...
$("div.kgheadercell.col5").on("click", "input", function (event) {
$("#popup").dialog("open");
});
然而,这似乎不能正常工作,即一旦我单击文本字段,对话框就不会显示。但是,如果我尝试在 Chrome 的控制台中输入代码的最后一位,则处理程序已正确绑定,并且一旦我单击文本字段就会出现对话框。
但是,如果我尝试
$("body").on("click", "input", function (event) {
$("#popup").dialog("open");
});
这成功添加了处理程序,因为当我单击任何(显然)文本字段时,我能够看到对话框。
这段代码之后是否发生了一些事情,以便它删除或更改处理程序?