Estoy usando slickgrid como contenedor de datos e intento suscribirme a su evento onscroll como se describe en la documentación, es decir
task_list.onscroll.subscribe(function(e, args) { console.log('scrolling occured'); });En realidad, estoy tratando de hacer otro procesamiento después, que es traducir el contenido de la página web. El contenido no está completamente traducido, por lo que necesito traducirlo cada vez que me desplazo por la página. Sin embargo, recibo el mensaje.
Uncaught TypeError: Cannot read properties of undefined (reading 'subscribe')¿Cómo puedo solucionar este error y averiguar por qué lo obtengo?
Hay algunos errores pequeños en su código, primero, los nombres de los eventos son camelCase, por lo que debería estar onScroll y, en segundo lugar, si desea suscribirse a los eventos de SlickGrid, debe usar el objeto de cuadrícula.
grid.onScroll.subscribe(function(e, args) { // ... }); y no olvides darte de baja al salir de la página porque vas a tener bastante fuga con el onScroll. Prefiero usar Slick EventHandler ya que tiene un método más fácil para cancelar la unsubscribeAll que puedo usar al destruir/abandonar la página.
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(); }Espero que no haya ningún error en mi código, pero solo para hacerle saber que escribí de memoria aquí, así que vuelva a verificar el código y mire los múltiples ejemplos de SlickGrid que tienen fácil acceso al código.