jQuery-ui 可调整大小,在 Marionette.ItemViem 上不起作用
jQuery-ui resizable not working on Marionette.ItemViem
我正在尝试制作一个应用程序,用户可以在其中单击并拖动到区域内以创建矩形。问题是该区域是一个Marionette.CollectionView
,用户通过拖动和释放鼠标按钮正在创建一个 新Rectangle model
,该被添加到集合中(负责渲染它(。
这是项目视图的代码
var RectangleView = Backbone.Marionette.ItemView.extend({
template: "<div> </div>",
className: "rectangle",
events: {},
initialize: function(){
this.$el.draggable({
containment: 'parent'
});
this.$el.resizable();
this.setCssStyle();
},
setCssStyle: function (options) {
that = this;
this.$el.css({
'width': that.options.width + 'px',
'height': that.options.height + 'px',
'top': that.options.top + 'px',
'left': that.options.left + 'px',
'border': '1px solid black',
'position': 'absolute'
});
}
});
在initialize
方法中,我将视图的元素设置为draggable
和resizable
。虽然可拖动工作正常,但可调整大小根本不起作用。(我还包含必要的jquery-ui.css文件(
一旦我将模型添加到 CollectionView(这发生在我的 CollectionView 的自定义事件上(,上面的 ItemView 就会被追加,这是 CollectionView 的代码
var ScreenView = Backbone.Marionette.CollectionView.extend({
template: "<div> </div>",
className:"screen",
itemView: RectangleView,
events: {
'boxmakerstoppeddrawing' : 'drawingHandler'
},
initialize: function() {
this.$el.boxMaker();
},
itemViewOptions: function() {
return boxProperties;
},
drawingHandler: function() {
var rectangle = new Rectangle();
this.collection.add(rectangle);
}
});
关于我可能做错了什么,导致 .resizeable 不起作用的任何想法?
愚蠢的我!正如用户seutje在 #jquery irc.freenode频道中告诉我的那样,我应该onRender
附加jquery-ui方法而不是初始化。
initialize: function(){
this.setCssStyle();
},
onRender: function(){
this.$el.draggable({
containment: 'parent'
});
this.$el.resizable();
}
现在一切正常,但我希望反馈这是否是最佳的。考虑到我onRender
附加方法,在调整大小期间,ItemView
被重新渲染,因此,每当我调整项目大小时都会调用onRender
,因此重新附加 .draggable 和 .ressizeable?
相关文章:
- Marionette.js-从itemView访问行为函数
- 将模型传递给 LayoutView Backbone.Marionette
- 序列化数据和 onRender in Marionette.CompositeView 之间的区别
- 如何在Marionette中向compositeview添加更多模型
- 具有多个入口点的Marionette应用程序
- 在用于SEO的Marionette应用程序中使用推送状态
- 如何从Marionette控制器中重定向到另一条路线
- templateHelpers in Marionette.CompositeView
- 内部布局Marionette布局
- 如何在Marionette.LayoutView中跟踪输入的更改
- Marionette LayoutView区域共享CollectionView
- jQuery-ui 可调整大小,在 Marionette.ItemViem 上不起作用
- Marionette应用程序上的jquery-ui.draggable和jqQuery事件出现问题
- Marionette.CompositeView 和 Marionette.ItemView 之间的事件
- Marionette.CompositeView,如何将参数传递给Marionette.ItemView
- 如何使用requirejs和Backbone.Marionette同步/组织模块
- 使用Marionette.CompositeView对模块进行单元测试
- 如何在Marionette.CompositeView中建模事件
- Backbone.Marionette 1.2没有“绑定”的方法
- 如何使用 Backbone.Marionette 构建用于将项目创建到列表中的应用程序