I know meteor exposes events such as "click", for DOM element but I'm wondering if there's a load event that's fired when a template or partial is loaded? How would I accomplish this?
Thanks.
For Meteor starting from 0.4.0 preview, you can use Template.myTemplate.created
.
In Template.myTemplate.created
the DOM is not ready however.
If you need to manipulate the DOM, you might want to use Template.myTemplate.rendered
instead and use a boolean value to track the state within the Template object like this:
Template.myTemplate.rendered = function() { if(!this._rendered) { this._rendered = true; console.log('Template onLoad'); } }
Following should work.
Meteor.defer will get called once template is added to DOM and rendered.
<template name="temp"> //regular stuff {{invokeAfterLoad}} </template> Template.temp.invokeAfterLoad = function () { Meteor.defer(function () { $('mydiv').jquerify(); }); return ""; };
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With