1

HTML テーブルの td 内をクリックすると、ダイアログのフェイスボックスがポップアップ表示されます。これは可能ですか?

https://github.com/defunkt/facebox

4

1 に答える 1

3

代理としての TD...

そこにリンクがある場合は、次のようなことができます。

$("td").click(function(){
  $("a[rel='facebox']", this).trigger("click");
});

もちろん、このコードを少し変更すれば、ページ上のほとんどすべてのものをクリックすることで、任意のリンクに対して facebox を呼び出すことができます。基本的に、td要素はプロキシとして機能します。それをクリックすると、フェイスボックスを開くことができるリンクのクリックがトリガーされます。

リンクなし?問題ない...

クリックするリンクがない場合は、フライの 1 つを作成し、クリックをトリガーしてから削除することができます。

$("td").click(function(e){
  $("<a>") // create our link
    .click(function(e){e.stopPropagation()}) // prevent bubbling
    .attr({ // set its attributes
      'href':'/css/style.css?'+$(this).text(), // append td vals
      'rel':'facebox' // make it facebox-eligible
    })
    .appendTo(this) // append it to the td
    .facebox() // tie it to facebox
    .click() // click it
    .remove(); // remove it
});​

したがって、次のものから始めたとします。

<td>52</td>

次を指す iframe ポップアップが表示されます/css/style.css?52

于 2010-02-22T03:54:41.520 に答える