ロードすると、リンクがクリックされたときに使用するjquery-uiダイアログをアクティブにするページがあります。
このようなもの(簡略化):
//アクティベーションリンク <divid="ckitg">クリックしてアクティブ化</div>
//ダイアログ(簡略化) <div class = "ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable" tabindex = "-1" role = "dialog" aria-labelledby = "ui-dialog-title-ckitg"> <div class = "ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"> //ここにダイアログコンテンツ </ div> </ div>
次に、AJAXを使用して別のコンテンツをロードします。
ajaxのちょうど関連する部分。
(関数($){ //この新しいメソッドをjQueryにアタッチします $ .fn.extend({ //これはプラグインの名前を書く場所です ajax:function(options){ var defaults = {} var o = $ .extend(defaults、options); this.each(function(){を返す //コンテナを開きます $(this).click(function(){ $ .ajax({ タイプ:「GET」、 url:someuri、 //データ:{id:menuId}、 キャッシュ:false、 成功:function(data){ $('#' + o.output).hide()。delay(500).fadeIn('slow')。html(data); } }); }); }); } }); // jQueryを関数に渡し、 })(jQuery);
そのコンテンツには同じアクティベーションリンクがあります。
<divid="ckitg">クリックしてアクティブ化</div>
しかし、ダイアログを引き上げようとすると、機能しません。
AJAXコンテンツのダイアログを「再生成」することで機能させますが、この方法でオーバーヘッドを作成し、Operaナットを駆動します。
オーバーヘッドなしでそれに対処する方法のアイデアは大歓迎です。