在我的网站上,我有一个包含图像缩略图的DataList。缩略图是HyperLink控件,单击时可提供源图像的放大视图(存储在我的数据库中)。
我的客户想在每张图片上都有一个facebook Like按钮,我希望将它放在点击缩略图时出现的灯箱窗口中。 我在这里面临的挑战是,要为Like生成信息,我需要创建元标记,每个图像最好在运行时创建自己的元标记。
我无法弄清楚如何让HyperLink点击打开灯箱并同时创建元标记。
非常感谢任何帮助。
要查看网站的实时视图,请转到http://www.dossier.co.za
答案 0 :(得分:1)
我们处理类似问题的方法是在javascript中挂钩href的onclick事件。
根据您确切需要做什么,您甚至可以通过从javascript方法返回false来阻止超链接的标准浏览器行为。
在某些情况下,我们只是通过将href设置为“#”来使用“show”的超链接。
这是一个结合了所有这些概念的例子:
<a href="#" id="lnkFile" runat="server" onclick="javascript:{cmdFile_Click(); return false}" title="View the file">File Name</a>
在这种情况下,执行指定的javascript,没有真正的超链接,浏览器不会尝试导航到指定的URL,因为我们在javascript中返回false。
答案 1 :(得分:0)
将类名添加到开始表标记中,如class =“tbl_images”,这样我们就可以使用JQuery来访问它。捕获td上的单击并拾取项目的ID。根据需要将该ID传递给您的代码以生成元标记。在下面当用户点击td中的锚点时,将运行一个函数。
我一直用这个来访问td中的属性,所以我可以运行一个函数。您可以使用类似的东西从图像/锚点中拾取值并创建一些东西......
$("#tbl_images > tbody > tr ").each(function () {
//get the id of the tr (if required)
var id = $(this).attr("id");
var ImageTitle = $(this).find("img.Image_Class_Name").attr("title");
//on click of anchor with classname of lighthouse run function,
//passing in our id or other data in the row to our function
$(this).find("td: > a.lighthouse").click(function () {
//update script for this record
MyFunction(id,ImageTitle);
});
});