2012-08-01 75 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); 
      }); 
     }); 
相關問題