Prettyphoto - 如何将唯一参数传递给回调函数

Posted

技术标签:

【中文标题】Prettyphoto - 如何将唯一参数传递给回调函数【英文标题】:Prettyphoto - how to pass unique parameter to the callback function 【发布时间】:2012-04-01 02:04:23 【问题描述】:

prettyphoto 中是否有让我将参数传递给回调函数的方法

这是我目前的设置

【问题讨论】:

你能不使用 this 并获取任何值,如果它取决于链接? 嗨西蒙,不太清楚你的意思 - 但是当我向锚标记添加一个 id 属性并尝试在回调中访问它时,如 alert($(this).attr('id' ));我得到未定义 【参考方案1】:

我检查了源代码,Prettyphoto 不支持它。不过你可以修改 prettyphoto 的来源。

在版本 1.3.4(未压缩)中,您必须更改回调函数,以便它支持将单击的元素作为参数传递。

编辑: Acullty 我不会更改源代码,下次您必须升级 Prettyphoto 时,您必须再次进行更改。维护起来会很麻烦。

一种解决方案可能是跟踪单击的链接并保存它:

$(document).ready(function()
    var lastClicked = null;
    $("a[rel^='prettyPhoto']").prettyPhoto(
    callback: function()
               
        if(lastClicked != null) 
                var topicid = lastClicked.data("topicid"); // lastClicked is your lastclicked link. So you can use whatever jQuery method on it..
                alert("topic: " + topicid); // The topic_id
                $.post('/course/close-video', topic_id: '13');
                lastClicked = null; // Set the last clicked to null 
        
    
    ).click(function ()
        lastClicked = $(this);
);

);​

我为您创建了一个 jsfiddle,以便您可以测试: http://jsfiddle.net/26L8w/

这不会处理内置的“移动到下一个”功能,因为它不会跟踪它。但是如果你想跟踪它,你可以附加 jQuery。

【讨论】:

谢谢西蒙,我该怎么做呢。 哇,这是一个非常简洁的解决方案,而且效果很好。非常感谢您的时间。欣赏它

以上是关于Prettyphoto - 如何将唯一参数传递给回调函数的主要内容,如果未能解决你的问题,请参考以下文章

如何将参数传递给由 fork() 创建的进程

如何将子类作为期望基类的函数的参数传递,然后将该对象传递给指向这些抽象类对象的指针向量?

将列表作为参数传递给 Python C 模块?

将参数传递给 UserControl viewmodel

如何将 POST 参数传递给 Durable Function,然后将此参数传递给 Timer Triggered 函数

如何将参数传递给 Java 线程?