我正在尝试使用Kendo Grid MVVM将RowTemplate中的事件绑定到viewModel函数。
但是,在调用kendo.bind后,然后在控制台中显示错误,并且事件不会被触发,但网格显示正确。这是错误:
未捕获错误:按钮元素kendo.editor.js不支持鼠标悬停绑定:890
我尝试将行模板中的元素类型更改为任何其他内容,结果相同。
这是我的HTML代码:
<div id="content">
<div>
<div id="grid" data-role="grid" data-bind="source: ordersSource"
data-selectable="True" data-columns='["OrderID", "ShipName", "ShipCity"]' data-row-template="rowTemplate" />
</div>
</div>
<script id="rowTemplate" type="text/x-kendo-template">
<tr data-uid="#= uid #">
<td><button data-bind="mouseover: listener">#: OrderID #</button></td>
<td>#: ShipName #</td>
<td>#: ShipCity #</td>
</tr>
</script>
这是我的viewModel代码:
var ordersDatasource = new kendo.data.DataSource({
type: "odata",
transport: {
read: "http://demos.kendoui.com/service/Northwind.svc/Orders"
},
schema: {
model: {
id: "OrderID",
fields: {
OrderID: { type: "number" },
ShipName: { type: "string" },
ShipCity: { type: "string" }
}
}
},
pageSize: 5,
});
var viewModel = kendo.observable({
ordersSource: ordersDatasource,
listener: function (e) {
alert("Event: " + e.type);
}
});
kendo.bind($('#content'),viewModel);
如果您想尝试,Here是jsFiddle。
第一列按钮应该在将鼠标移到它上面时触发事件,但事实并非如此。
答案 0 :(得分:2)