0

私はこのようないくつかのコードを持っています

<span id="$RsC" class="menu" title="Action menu" onclick="menu(\''.$RsC.'\')">click</span>

function menu(id){ 
var d = document.getElementById(id); 
d.innerHTML ='<a href="somthing;iframe=true&amp;width=400&amp;height=170"  rel="prettyPhoto[iframe]" >Doesnt work</a>';
}

<script type="text/javascript" charset="utf-8">
jQuery.noConflict();
jQuery(document).ready(function($) {
$(".pp_pic_holder").remove();
 $(".pp_overlay").remove();
 $(".ppt").remove();
$(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'h0mayun'});
});
</script>

問題は、「クリック」をクリックしてhtmlリンクを書いた後、prettyPhotoプラグインがロードされないことです

どんな助けでも大歓迎です。

編集------------------- いまいましい競合です。これは再びjqueryの競合でしたが、機能させるために機能を次のように変更します。

<script type="text/javascript" charset="utf-8">
jQuery.noConflict();
jQuery(document).ready(function($) {
$(".pp_pic_holder").remove();
 $(".pp_overlay").remove();
 $(".ppt").remove();
$(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'h0mayun'});
});
</script>

function menu(id){ 
var d = document.getElementById(id); 
d.innerHTML ='<a href="somthing;iframe=true&amp;width=400&amp;height=170"  rel="prettyPhoto[iframe]" >Doesnt work</a>';
jQuery.noConflict();
jQuery(document).ready(function($) {
$(".pp_pic_holder").remove();
 $(".pp_overlay").remove();
 $(".ppt").remove();
$(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'h0mayun'});
});
}
4

2 に答える 2

1

そして、それはこのようには機能しません。ページが読み込まれた後、ページ上の既存の要素に対して prettyPhoto を初期化します。新しい要素を挿入すると、prettyPhoto プラグインはそれについて何も知りません。ページのすべての変更後に prettyPhoto を初期化するか、変更後に更新された要素に添付する必要があります。このような

function menu(id){ 
var d = document.getElementById(id); 
d.innerHTML ='<a href="somthing;iframe=true&amp;width=400&amp;height=170"  rel="prettyPhoto[iframe]" >Doesnt work</a>';
$('a', d).prettyPhoto({theme:'h0mayun'});
}

ps: prettyPhoto の例を使用して簡単なテストを行いましたが、動作しています。

function menu(id){ 
var d = document.getElementById(id); 
d.innerHTML ='<a href="images/fullscreen/3.jpg" rel="prettyPhoto[gallery1]">Test link</a>';
$('a', d).prettyPhoto();
}
于 2012-01-25T20:58:21.210 に答える
0

$(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'h0mayun'});onClick 関数の前にこれを行っている場合。

プラグインが再度初期化されるように、オブジェクトの html を記述した後にもう一度実行する必要があります。

于 2012-01-25T20:57:25.823 に答える