0

在我的网站上,我有一个充满图像缩略图的 DataList。缩略图是 HyperLink 控件,单击时会提供源图像的放大视图(存储在我的数据库中)。

我的客户希望在每张图片上都有一个 Facebook Like 按钮,我希望将它放在单击缩略图时出现的灯箱窗口中。我在这里面临的挑战是,要为 Like 生成信息,我需要创建元标记,并且每个图像最好动态创建它自己的元标记。

我想不通的是如何让超链接点击打开灯箱并同时创建元标记。

任何帮助将不胜感激。

要查看该网站的实时视图,请访问http://www.dossier.co.za

4

2 回答 2

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。

于 2012-08-01T15:36:28.260 回答
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);
          });
      });
于 2012-08-01T18:54:55.823 回答