How to test if el is attached to the DOM in a Backbone view?
我需要知道 View 中的
灵感来自
如何检查 jQuery 元素是否在 DOM 中?我得到这个工作:
1
2 3 4 5 6 |
render : function() {
… if (this.$el.closest(‘html’).length) // test if in DOM this.$el.someJqueryPlugin(); return this; } |
我还需要此视图的所有者在将 el 插入 DOM 后立即触发”onshow”,这是可行的,但有点笨拙。
我能想到的另一个解决方案是这样做:
1
2 |
var el = $(”).appendTo(somewhereInsideDOM);
var view = new view(el:el); |
在这种情况下,el 将始终附加到 DOM,这样就不会那么笨拙了,但缺点是操纵 el 意味着操纵 DOM。最后,使用这种方法,
还有其他解决方案吗?
如果元素需要在 DOM 中,最好将其附加到
1
2 3 4 5 6 |
var el = $(”).css({ display: ‘none’ }), view; $(body).append(el); |
希望这会有所帮助。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/268786.html