2012-08-01 71 views
0

在我的网站上,我有一个DataList中有图像缩略图。缩略图是HyperLink控件,点击后可提供源图像的放大视图(存储在我的数据库中)。需要一个超链接控件一次执行几件事

我的客户希望每个图像上都有一个Facebook Like按钮,我希望将它放在单击缩略图时出现的lightbox窗口中。 我的挑战在于为了生成喜欢的信息,我需要创建元标记,每个图像应该最好创建它自己的元标记。

我无法弄清楚的是如何使HyperLink点击打开灯箱并同时创建元标记。

任何帮助将不胜感激。

对站点的实时取景,去http://www.dossier.co.za

回答

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,没有真正的超链接,浏览器不尝试导航到指定的因为我们在JavaScript中返回false。

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); 
      }); 
     });