3rd party scriptを使用して、ページ上の画像にズーム機能を追加しています。静的にはうまく機能しますが、動的コンテンツではうまく機能しません。
静的バージョンは、作品:
$(document).ready(function(){
$('#gallery_main_img').addpowerzoom();
})
ダイナミックバージョンは、動作しません:
$(document).ready(function(){
$('#gallery_main_img').load(OnGalleryImageChanged);
})
function OnGalleryImageChanged() {
$('#gallery_main_img').addpowerzoom();
}
addpowerzoom機能がPowerZoomスクリプトでこのコードを使用して作成され、私のページの<head>
で参照されています:
$.fn.addpowerzoom=function(options){
// function content here
}
、Firebugのは、私にこのエラーメッセージを表示します。
$("#gallery_main_img").addpowerzoom is not a function.
だから、スコープの問題のようです。私の質問は:
私のイベントハンドラの中からaddpowerzoom()関数にアクセスするにはどうすればいいですか?あなたは3rd party script's sourceは、まず最初に、あなたはそれがコードjQuery.noConflict()
と、noConflict modeにjQueryのに設定されてやる気付くでしょうことを確認し、それが$
を意味し、いずれかの変数に代入していない場合
ありがとうございました!私は 'noConflict'呼び出しを投げ捨てることになりました。これは、スクリプトをもう一度実行するためにはいくつかの手間を要しましたが、今は期待どおりに動作します。 – Treb
@トレブはい、それはあなたが他の場所でも通常どおりjQueryを使いたいと仮定して、最良の解決策になります。あなたはそれが働いてうれしい:) – Niklas