2012-01-02 7 views
2

jQueryを1.4.1から1.7.1にアップグレードしようとしていて、jQuery UIの削除可能な機能に問題があります。私はjQuery 1.8.16とこのMulti-Select, Drag & Dropプラグインを使用していますが、それを利用する私のページがアップグレード後もはや動かないことがわかりました。何時間ものデバッグの後、イベントオブジェクトのターゲット属性には同じ要素がもう含まれていないことがわかりました。jQuery UI droppableのevent.targetがjQuery 1.7.xにアップグレードした後に変更されました

例でもっとも簡単に説明されているので、this on jsfiddleを作成しました。

さて、あなたはjQueryの1.5.2を使用(または1.6.4を、しかし、このバージョンは、何らかの理由でjQueryのUIが含まれていない)ときjsfiddleに
$(function() { 
    $("#draggable").draggable(); 
    $("#droppable").droppable({ 
     drop: function(event, ui) { 
      $(this).addClass("ui-state-highlight").find("p").html("Dropped!"); 
      $('#target-content').html($(event.target).html()); 
     } 
    }); 
}); 

<div class="demo">  
<div id="draggable">  
    <p>Drag me to my target</p> 
</div> 
<div id="droppable"> 
    <p>Drop here</p> 
</div> 
<div id="test"></div> 
</div> 

、そしてあなたが緑の箱の上に赤いボックスをドラッグして、 event.targetは緑色のボックスを参照しているため、内部にテキストが表示されます。しかし、jQuery 1.7.xを使用すると、event.targetは赤いボックスを参照しています!

これはjQuery UI 1.8.xのjQuery 1.7.xのサポートが不足していると思われますが、これは言及されているホームページのどこにも見つかりません。

ここで、どうすればよいですか?私はMultiselect、Drag & Dropプラグインで修正することができますが、このバグが後で修正された場合には、おそらくこれを再度破棄します。

+0

これが見つかりました。[jquery ui ticket](http://bugs.jqueryui.com/ticket/7852)。バージョン1.8.17でリリースされるたびに修正されているようです。 – Anttu

+0

[このダウンロードページ](http://code.google.com/p/jquery-ui/downloads/detail?name=jquery-ui-1.8.17.zip)ここで1.8.17のバージョンは圧縮されています。ミニバージョンが含まれています。これは私の問題を解決しましたが、回答を提出する前に公式に発表されるまで待つつもりです。 – Anttu

答えて

1

これまでのことですが、決して遅くはありません。

バージョン1.8.17からいくつかのバージョンがリリースされました(現在のバージョンは1.8.20です)。

jsフィドルで、jQuery UI 1.8.18、see this exampleでjQuery 1.7.2を選択できるようになりました。 このバージョンでは動作するようですので、将来のバージョンでも動作することを願っています。

関連する問題