0

私のサイトには、画像のサムネイルでいっぱいの DataList があります。サムネイルはハイパーリンク コントロールで、クリックするとソース イメージ (私のデータベースに保存されています) の拡大ビューが表示されます。

私のクライアントは、各画像に facebook のようなボタンを望んでおり、サムネイルをクリックしたときに表示されるライトボックス ウィンドウにそれを配置したいと考えていました。ここでの私の課題は、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が実行され、実際のハイパーリンクはなく、javascriptでfalseが返されるため、ブラウザーは指定されたURLに移動しようとしません。

于 2012-08-01T15:36:28.260 に答える
0

class="tbl_images" のようにテーブルの開始タグに Classname を追加して、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 に答える