Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
6265 Visualizzazioni

I want to modify the DOM of the newly rendered view by jquery and extending the kanbanRenderer. However, some field widget is always rendered after my jquery function ( I have already tried to override different function, such as start, _renderview and etc), I guess it is something related to async feature of the javascript.

I wonder if there is a function called when the view rendering is just finished. Such that jquery can select any element of the finally DOM you can see on the browser. Below is some code within the my extension of kanbanRenderer, it is just not working.

let myKanbanRenderer1 = KanbanRenderer.extend({
start: function () {
return this._super().always(function(){
console.log($("span"))
})
}
})
Avatar
Abbandona
Autore

Thank you so much for you help !!

Risposta migliore

because the view is still detached from DOM so you could not access
you are right you can access an element from DOM after the start method executed but it's for Widget not for ViewRenderer.
ViewRenderer's lifecycle is different from Widget it handle by the action manager and view controller. 

Anyway, here If you want to access nodes of a renderer even it's still not attached to DOM. this.$el has a reference of it

let myKanbanRenderer1 = KanbanRenderer.extend({
    start: function () {
        var self = this;
        return this._super().always(function(){
            console.log(self.$('span'), self.$el)
        })
    }
})

 

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
1
nov 22
3706
0
lug 25
401
1
lug 25
5277
0
lug 25
823
0
giu 25
840