对于Kendo网格,我们可以使用bind在初始化后订阅事件。
想象一下以下代码:(如果你想在jsBin中尝试一下,我就能得到保障)
<div id="grid"></div>
<script>
function foo(e) {
console.log("foo");
}
function doo(e) {
console.log("doo");
}
$(document).ready(function() {
var grid = $("#grid").kendoGrid({
columns: [
{ field: "name" },
{ field: "age" }
],
dataSource: [
{ name: "Jane Doe", age: 30 },
{ name: "John Doe", age: 33 }
],
dataBound: foo
});
$("#grid").data("kendoGrid").bind("dataBound", doo);
debugger;
})
</script>
在调试器的时候,我在浏览器的控制台中观察到:
我看到绑定的doo只存在于_event数组中。这带来的麻烦是我需要以下列方式重用这个网格配置:
$("newgrid").kendoGrid($("oldgrid").data("kendoGrid").options);
我将失去约束事件。这是一个错误还是我以错误的方式解释它。谢谢。
答案 0 :(得分:0)
grid.options
仅在网格初始化期间使用,并且在初始化之后绑定事件不是选项的一部分。
虽然您可以在初始化后更新选项中的网格dataBound
事件:
grid.setOptions({
function(e){ foo(e); doo(e); }
})