1

有什么方法可以将标准的 jQuery 事件与 SlickGrid 一起使用吗?例如。

grid = new Grid($("#myGrid"), data, columns, options);
grid.blur(function(){}); // this would be nice

// this will let me add jQuery events to the whole grid, but 
// I lose the cell position/data
$("#myGrid").blur(function(){}); 

提前致谢!

4

2 回答 2

3

最简洁的答案是不。

详细地说,SlickGrid 不是 jQuery 插件,也不会以任何方式扩展 jQuery。它是一个单独的组件,在后台使用 jQuery。它明确定义了您可以通过在网格实例上设置事件处理程序来订阅的事件。虽然某些“标准”事件确实适用于网格生成的 DOM 节点,但不鼓励使用它们。当您滚动时,SlickGrid 正在创建和删除节点,因此您不能依赖它们保持不变或事件存在。除非您对 SlickGrid 内部有很好的理解,否则最好坚持使用明确定义的事件。

最初,我曾考虑将 SlickGrid 更改为使用 jQuery 事件,但我决定不这样做。虽然我选择使用 jQuery 作为 SlickGrid 的框架,但也没有必要强迫用户学习和使用它。这也让我可以灵活地在以后切换到另一个框架。

于 2010-11-18T18:18:38.543 回答
1

您始终可以查看渲染代码并将 .blur() 应用于创建的容器。

于 2010-11-18T15:26:35.890 回答