私のWebフレームワークは、私のjQueryスクリプトを最新のバージョン、1.9に自動的に更新しました。「live」をjQuery 1.8.3からjQuery 1.9に置き換えるにはどうすればいいですか?
今、すべて私:
$(".myclass").live("click", function() {...
はもう動作しません。私は主に私のページにhtmlを埋め込んだいくつかのAjaxでそれを使用しました。
最後のバージョンでこの機能を置き換える方法を知っています。友人は代わりに "on"を使用するように指示しましたが、 "on"は同じ要素に固定されています。
説明この例(ajaxなし)では、「+」アイコンを使用して「ul liリスト」を表示します。
$(".closed").live('click', function(){
$("#ul_list_"+$(this).attr('id')).addClass("displayed").removeClass("hidden").show();
$(this).addClass("openned").removeClass('closed');
$(this).html('<i class="icon-minus"></i>');
});
$(".openned").live('click', function(){
$("#ul_list_"+$(this).attr('id')).addClass("hidden").removeClass("displayed").hide();
$(this).addClass("closed").removeClass('openned');
$(this).html('<i class="icon-plus"></i>');
});
(私は私のリストを開いたり閉じたりするためにクラスを使用していました。そして、訪問者がJSが有効になっていない場合は、何も隠していない、すべての。私はスクリプトが最も今までに最適化されていないことを知っているが、それは働いていました折りたたまれたリストが開いている)
注:
- 私はhttps://github.com/jquery/jquery-migrateを試みたが、私は持っている唯一のメッセージがある「JQMIGRATE:jQuery.fn.liveは、()は推奨されません」ではなく、修正する方法それ。
あなたは 'バインド'を試しましたか? –
確かに、私は1.8から1.9まで検索しました。あるいは、1.7から気づかずにちょうど "jquery 1.9 live"を検索しました!ありがとうございました! – Polopollo
[移行の例](http://stackoverflow.com/a/14354091/584192)を参照してください。 –