backbone.js を使用する Rails アプリケーションで jQuery UI を使用しています。ドラッグ可能な要素を作りたいですか? この関数をどこに置く必要がありますか:
$('.area-tools').draggable({handle: ".grap-area", "containment" : "parent"})
それはビューにありますか?レンダリング機能の後?初期化関数が要素を見つけられないため、DOM がまだ作成されていないと思いますか?
だから、私はこれをしました:
class Myapp.Views.Tools extends Backbone.View
template: JST['pdfs/tools']
tagName: "div"
className: "pdf-tools"
events:
'click div.rect' : 'drawRect'
initialize: ->
@previewWrapper = $('.preview')
@count = 0;
@
render: ->
$(@el).html(@template())
@initColorPicker()
this
initColorPicker: ->
$('.area-tools').draggable({handle: ".grap-area", "containment" : "parent"})
drawRect: (event) =>
newElement = $('<div id="resizable" class="resizable"><div class="close">x</div><input type="text" name="text_' + @count++ + '" /></div>');
@previewWrapper.append(newElement);
newElement.draggable().resizable();
いいですか?推奨事項はありますか?