# Method didInsertElement not working

**URL:** https://discuss.emberjs.com/t/method-didinsertelement-not-working/8554
**Category:** Uncategorized
**Created:** [August 12, 2015, 10:44am UTC](https://discuss.emberjs.com/t/method-didinsertelement-not-working/8554 "2015-08-12T10:44:04Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![gsharma](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/gsharma/32/11206_2.png) [@gsharma](https://discuss.emberjs.com/u/gsharma)
#### Post date: [August 12, 2015, 10:44am UTC](https://discuss.emberjs.com/t/method-didinsertelement-not-working/8554/1 "2015-08-12T10:44:04Z")

</div>

Hi everyone, I need to execute jquery code every time template is refreshed and for that I have created this:

```
 CCM_ROOT.HomeTemplateView = Ember.View.extend({
      templateName: 'HomeTemplate',
          didInsertElement: function() {
          alert();
      }
     });

```

and I am updating my hometemplate using polling and below is the coding for same:

```
CCM_ROOT.HomeTemplateRoute = Ember.Route.extend({
model: function(){
	return this.store.find('agent');
},	
recursive: function() {
	this.model();
	this.set('poll',Ember.run.later(this,function(){this.recursive();},5000));
},
setupController : function(controller, model)
{
	this.controllerFor('homeTemplate').set('model',model);
	this.controllerFor('homeTemplate').changeTheHeader();
	this.recursive();
},
deactivate : function(){
	Ember.run.cancel(this.get('poll'));
}

```

});

Issue: didInsertElement() is called when I reload the page. But I require it to fire every time when template is updated.

---

<div class="post-metadata">

### Author: ![ayberk](https://avatars.discourse-cdn.com/v4/letter/a/a698b9/32.png) [@ayberk](https://discuss.emberjs.com/u/ayberk)
#### Post date: [February 21, 2020, 11:03am UTC](https://discuss.emberjs.com/t/method-didinsertelement-not-working/8554/2 "2020-02-21T11:03:54Z")

</div>

Hey @gsharma, its a bit late answer but maybe someone else needs it.

You should prefer didRender function because unlike didInsterElement works only once, it works everytime after re-render.

---

<div class="post-metadata">

### Author: ![jelhan](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/jelhan/32/16917_2.png) [@jelhan](https://discuss.emberjs.com/u/jelhan)
#### Post date: [February 21, 2020, 2:16pm UTC](https://discuss.emberjs.com/t/method-didinsertelement-not-working/8554/3 "2020-02-21T14:16:04Z")

</div>

Please note that `Ember.View` has been removed in 2.0 years ago. `@ember/component` had similar `didInsertElement` and `didRender` hooks. While not being deprecated (yet), it’s recommended to use `@glimmer/component` instead for new components. It does not have these component hooks. You should use modifiers instead. `@ember/render-modifiers` provide a similar functionality as these lifecycle hooks before. But it’s recommended to use custom modifiers instead if possible. Such a modifier could register a jQuery plugin on an element and update it when one of the arguments is changed.
