使用jquery在单击时获取图像链接到新选项卡中的URL

时间:2014-08-28 14:51:51

标签: javascript jquery

我已经尝试了许多工作来实现这一点,我基本上试图让灯箱照片显示(它确实如此),并且当点击时,打开一个带有指定URL的新选项卡。 我想要在新标签中链接到网址的图片是“images / ad1.jpg”,它位于代码中。请告诉我正确的代码和输入方式所以我可以这样做。我非常感谢每个人对此的支持以及stackoverflow的伟大社区。谢谢。

(function($){
        $(window).load(function(){
            if(jQuery.isFunction(jQuery.fn.prettyPhoto)) {
                $.prettyPhoto.open(
                    "images/ad1.jpg", // Image to be opened
                    "title",    // Title of the pop-up
                    "desc."     // The description
                );
                setTimeout(function() {
                    $.prettyPhoto.close();
                }, 10000); // autoclose after 10 seconds
            } else {
                console.log("PrettyPhoto is not defined."); // log this message
            }
        });
    })(jQuery);

2 个答案:

答案 0 :(得分:0)

你应该修改jquery.prettyPhoto.js

$pp_pic_holder.find('.pp_previous, .pp_arrow_previous').bind('click',function(){
    $.prettyPhoto.changePage('previous');
    return false;
});

$pp_pic_holder.find('.pp_next, .pp_arrow_next').bind('click',function(){
   $.prettyPhoto.changePage('next');
   return false;
});                               

$pp_pic_holder.find('.pp_arrow_previous').bind('click',function(){
   $.prettyPhoto.changePage('previous');
   return false;
});

$pp_pic_holder.find('.pp_arrow_next').bind('click',function(){
    $.prettyPhoto.changePage('next');
    return false;
});

$(document.body).on("click", "#fullResImage", function(){
    window.open($(this).attr("src"));
})

我希望它能奏效。

答案 1 :(得分:0)

这个库有一个image_markupdocumentation的选项,使用它可以避免使用javascript解决方案。

实例prettyPhoto时,在target="_blank"选项中添加image_markup的链接

image_markup: '<a href="{path}" target="_blank"><img id="fullResImage" src="{path}" /></a>'

实施例

$("a[rel^='prettyPhoto']").prettyPhoto({image_markup: '<a href="{path}" target="_blank"><img id="fullResImage" src="{path}" /></a>'});

否则,你必须做这样的事情,jsFiddle Example

$(document.body).on('click', '#fullResImage', function(){
    window.open(this.src, '_blank');
});