4

次の問題を解決できません。

以下のコードは、macs safari(5.1.5)で部分的に動作することを除いて、Windowsだけでなく macのすべてのブラウザでも動作します。

注: Windows safari(5.1.5)で動作します。

これが基本構造です:

ここに画像の説明を入力してください

$(".div2" ).droppable({
        accept: '.div1',
        tolerance: 'touch',
        drop: function(){ 
                        alert('dropped');
        }   
});

したがって、基本的にdiv1がdiv2に接触すると、ドロップイベントがトリガーされます。

ここに画像の説明を入力してください

ただし、上記の場合はドロップイベントをトリガーしません。

macs safariでドロップイベントをトリガーする唯一のケース(以下に表示)は、ドラッグ可能なdivdiv1がドロップ可能なdivdiv2完全に通過する場合です。なぜかわからないの?

ここに画像の説明を入力してください

使用したバージョン:

jQuery: 1.7.2
jQuery UI: 1.8.18
Safari(mac): 5.1.5

アップデート:

私は他の許容範囲のオプションを試しました。「タッチ」と「交差」の両方が期待どおりに機能しません。しかし、「ポインタ」は完全に正常に機能します。

'tolerance:touch'の機能を実現する他の方法はありますか?2つのdiv間の衝突を検出して、対応するロジックを適用することを考えています。

どんな助けでもありがたいです。

ありがとう!

4

1 に答える 1

0

position: absolute !important;要素に追加してみてください。それが私がこの問題に対して見つけた解決策です。それ以外の場合は、ドラッグ可能/ドロップ可能な div の親 div を作成してみてください。

于 2012-05-31T07:10:18.543 に答える