2012-04-15 17 views
4

title='element sample'はjqueryのドラッグ可能な要素

のオプションを取り消し、彼らが地域をクリックしたとき、私は、ユーザーが要素をドラッグできるようにしたいすべての他の地域にはない「ドラッグ許可する」として示しています「ドラッグを無効にする」で示されるドラッグを許可します。以下は私が現在持っているコードです。私はキャンセルオプションに複数のセレクタを渡すことができないことだけがうまく動作します。私はオブジェクトとスペース区切りのセクタを渡そうとしましたが、動作しません。何が間違っているのですか?助けてください。

$(".e-note").draggable({ 
     stop: function(e, ui) { 
      // alert(ui.position['top']); 
     }, 
     cursor: 'move', 
     opacity: 0.4, 
     cancel: '.e-note-body', // How do i pass more than one selectors here? 
     distance:20 
    }) 

答えて

11

あなたは、いくつかのセレクタを組み合わせることmultiple selectorを提供することができます。

cancel: '#selector1, .selector-two' 

は、引用符内の各セレクタを分離する(,)カンマに注意してください。

+1

ありがとう@andrewは魅力的でした! –

0

それとも、複雑なレイアウトとドラッグを「キャンセル」する必要があり、非常に多くの要素を持っている場合は、代わりにcancel使用handleオプションのことができます:あなたがでcancelを使用する必要はありません

handle: '.allow_drag_start' 

この方法すべて。

これは私が最近見つけた追加の詐欺です。あなたのサイトが例えば、 http://touchpunch.furf.com/マウスイベントをtoucheventsに変換するには、cancelはドラッグだけでなく、デバイスのネイティブスクロールと2本指のピンチズームにも触れます。私の場合、スクロールとズームは、ハンドル以外のすべての要素で機能するようにしました。

一般的には、handleは使用する必要があり、cancelは少し問題を解決するものだと思います。