无法订阅 slickgrid 滚动事件
Cannot subscribe on slickgrid scroll event
我正在使用 slickgrid 作为数据容器,并尝试按照文档中的描述订阅它的 onscroll 事件,即
task_list.onscroll.subscribe(function(e, args) {
console.log('scrolling occured');
});
实际上,我正在尝试进行其他处理,即翻译网页内容。内容没有完全翻译,所以我每次滚动页面都需要翻译。但是我收到消息
Uncaught TypeError: Cannot read properties of undefined (reading 'subscribe')
如何解决此错误并查明出现错误的原因?
您的代码中存在一些小错误,首先事件名称是驼峰式命名,因此应该是 onScroll
其次,如果您想订阅 SlickGrid 事件,则需要使用网格对象
grid.onScroll.subscribe(function(e, args) {
// ...
});
并且不要忘记在离开页面时取消订阅,因为 onScroll 会造成很大的漏洞。我更喜欢使用 Slick EventHandler,因为它有一个更简单的 unsubscribeAll
方法,我可以在 destroying/leaving 页面
时使用它
var eventHandler = new Slick.EventHandler();
var grid = new Slick.Grid("#myGrid", dataView, columns, options);
function something() {
eventHandler.subscribe(grid.onScroll, function(e, args) {
// ...
});
}
function destroy() {
eventHandler.unsubscribeAll();
}
希望我的代码没有错误,但只是想让你知道我在这里凭记忆写的,所以请仔细检查代码并查看多个 SlickGrid Examples,它们都可以轻松访问代码
我正在使用 slickgrid 作为数据容器,并尝试按照文档中的描述订阅它的 onscroll 事件,即
task_list.onscroll.subscribe(function(e, args) {
console.log('scrolling occured');
});
实际上,我正在尝试进行其他处理,即翻译网页内容。内容没有完全翻译,所以我每次滚动页面都需要翻译。但是我收到消息
Uncaught TypeError: Cannot read properties of undefined (reading 'subscribe')
如何解决此错误并查明出现错误的原因?
您的代码中存在一些小错误,首先事件名称是驼峰式命名,因此应该是 onScroll
其次,如果您想订阅 SlickGrid 事件,则需要使用网格对象
grid.onScroll.subscribe(function(e, args) {
// ...
});
并且不要忘记在离开页面时取消订阅,因为 onScroll 会造成很大的漏洞。我更喜欢使用 Slick EventHandler,因为它有一个更简单的 unsubscribeAll
方法,我可以在 destroying/leaving 页面
var eventHandler = new Slick.EventHandler();
var grid = new Slick.Grid("#myGrid", dataView, columns, options);
function something() {
eventHandler.subscribe(grid.onScroll, function(e, args) {
// ...
});
}
function destroy() {
eventHandler.unsubscribeAll();
}
希望我的代码没有错误,但只是想让你知道我在这里凭记忆写的,所以请仔细检查代码并查看多个 SlickGrid Examples,它们都可以轻松访问代码