【问题标题】:.bind/.unbind event after initial prettyphoto.open funcation is run运行初始 prettyphoto.open 函数后的 .bind/.unbind 事件
【发布时间】:2012-08-23 15:57:40
【问题描述】:

我正在使用 .appened 将一些 HTML 添加到标记中的 div 中,当漂亮照片灯箱克隆打开时输出该标记。

我试图弄清楚如何只将附加的 HTML 加载到灯箱一次,而不是每次使用后退/下一步按钮查看图库中的新图像时。

根据我的发现,这可以通过使用 .bind/.unbind 来完成,但编写此函数似乎不起作用。

我在 prettyphoto 打开函数中使用以下偶数处理程序

$.prettyPhoto.open=function(event){

$(".pbdog-gAd").append('<p style="text-align: center;"><a href="' + prettyLink + '" target="_blank"><img src="' + prettyAd + '" width="468" height="60" alt="" /></a></p>');

这会产生所需的输出...

我的问题是,每次单击下一个/上一个按钮时,它都会再次运行脚本并在当前图片下方添加一个额外的广告图片,如下所示。它会一直这样做,直到 prettyphoto 最终崩溃

据我所知,我需要编写一个函数来第一次调用此事件,但不是每次单击下一个/上一个按钮时都调用此事件

我尝试了以下没有运气

$(".pbdog-gAd").bind("click", function( event ) {
$(".pbdog-gAd").append('<p style="text-align: center;"><a href="' + prettyLink + '" target="_blank"><img src="' + prettyAd + '" width="468" height="60" alt="" /></a></p>');
$(this).unbind( event );
});

执行上述操作似乎会使 prettyphoto 完全忽略此功能。执行以下操作似乎会破坏漂亮的照片

$.prettyPhoto.bind("click", function( event ) {
$(".pbdog-gAd").append('<p style="text-align: center;"><a href="' + prettyLink + '" target="_blank"><img src="' + prettyAd + '" width="468" height="60" alt="" /></a></p>');
$(this).unbind( event );
});

我显然不明白我在这里做什么,所以任何帮助将不胜感激。

【问题讨论】:

    标签: javascript jquery prettyphoto


    【解决方案1】:

    我找到的解决方案是在 .append 运行后使用 .removeClass。这会阻止第二次加载图像并删除该类,因此如果在 .append 过程中未加载任何值,则不会将格式应用于空间。

    $(".pbdog-gAd").append('<p style="text-align: center;"><a href="' + JprettyLink + '" target="_blank"><img src="' + JprettyAd + '" width="468" height="60" alt="" /></a></p>');
    $(".pbdog-gAd").removeClass("pbdog-gAd");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 2016-06-22
      相关资源
      最近更新 更多