Есть ли в любом случае всплывающее диалоговое окно facebox при нажатии внутри ячейки таблицы TD - PullRequest
1 голос
/ 22 февраля 2010

Я хочу открыть диалоговое окно, когда я щелкаю внутри тд в html-таблице. Возможно ли это?

https://github.com/defunkt/facebox

1 Ответ

3 голосов
/ 22 февраля 2010

TD в качестве прокси ...

Если у вас есть ссылка, вы можете сделать что-то вроде этого:

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

Конечно, слегка изменив этот код, вы можете вызвать facebox для любой ссылки, щелкнув почти что-нибудь еще на странице. По сути, элемент td служит для вас прокси. Если вы щелкнете по нему, он запустит щелчок по ссылке, которая сможет открыть фейсбокс.

Нет ссылки? Нет проблем ...

Если у вас нет ссылки для щелчка, вы можете создать одну из «мух», вызвать щелчок, а затем удалить его.

$("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.

...