0

私は 2 つのビュー、1 つはドラッグ可能、もう 1 つはドロップ可能を作成しているバックボーン アプリを持っています。ドラッグは正常に機能しますが、ドロップ可能なコールバックは決して発生しません。ドロップ可能なビューでドラッグ可能なビューを「見る」にはどうすればよいですか?

私の「ドロップ可能な」ビュー:

class App.Views.Folder extends Backbone.View

template: JST['folders/folder']

  className: "folder"

  initialize: (options) ->
    @collection.on('add', @addOne, @)
    @collection.on('reset', @addAll, @)

  render: ->
    @$el.html(@template(@model.toJSON()))
   this.$el.droppable(
      drop: -> alert("dropped!")
   );

ドラッグ可能:

class App.Views.QuestionSet extends Backbone.View

  template: JST['question_sets/question_set']

  className: "question-set"

  initialize: (options) ->
    @collection.on('add', @addOne, @)
    @collection.on('reset', @addAll, @)
    @$el.draggable(
      handle: ".drag-question-set"
      revert: true
    )

  render: ->
    @$el.html(@template(@model.toJSON()))

アップデート:

$(draggable.el)ドロップ可能な要素は、ドロップ可能なビューと同じコンテナ ダイブに挿入すると、コールバックを正しく起動します。彼らが別々のhtmlの親にいるとき、それは好きではありません...

4

2 に答える 2

0

私はそれを理解しました... Droppableプラグインの「許容範囲」の問題であることが判明しました。設定{tolerance: "pointer"}は私の問題を解決しました。

于 2012-07-05T21:48:08.143 に答える
0

投稿にはそれほど多くの情報はありませんが、説明に基づいて、html のどこにドロップ可能ファイルを配置するかに依存する場合は、代わりに@$el参照を置き換えてみることができます$("#someid")@$("#someid")また、バックボーンでは、グローバル ドキュメント自体ではなく、バックボーン ビュー要素 (コンストラクターで設定されたグローバル ドキュメントの一部のサブ要素) にショートカットのスコープが設定されることに注意してください。部品が機能すると仮定すると$("#someid")、それはおそらくスコープの問題にすぎません。

于 2012-07-05T08:57:56.283 に答える