私はフィドルを持っています:
http://jsfiddle.net/nicorellius/4vQ9S/
アラートはショーの開始時、ショーの終了時、および終了時に発生しますが、ボタンのクリックへのバインドは私を避けています。
ファンシーボックスのポップアップが機能します。それはフォームです:
HTML は単純な表です。
<form id="my-form" method="post" action="">
<table>
<tr>
<td>
<label for="name">Name</label></td>
<input type="text" id="name" name="name">
</td>
<td>
<input type="submit" value="Submit">
</td>
</tr>
</table>
</form>
ファンシーボックスをトリガーするリンク:
<a class="fancy-popup" href="test.html" data-fancybox-type="iframe">
いくつかの関数を呼び出す簡単なスクリプトがあります。
$(document).ready(function() {
function before_show() {
alert("fancybox before show");
}
function after_show() {
alert("fancybox after show");
}
function on_close() {
alert("fancybox after close");
}
function alert_me() {
$.fancybox.inner.find('iframe').contents().find('input.click-me').click(function() {
alert("fancybox has been foiled!!!");
});
}
$(".fancy-popup").fancybox({
openSpeed : 'slow',
openEffect : 'fade',
minWidth : '200',
minHeight : '100',
maxWidth : '400',
maxHeight : '150',
scrolling : 'no',
beforeShow : before_show,
afterShow : after_show,
afterClose : on_close,
//afterShow : alert_me
});
});
同じオリジンポリシーのため、iFrame 内でこれを行うことができないことに気付きました。これを機能させる方法は一生わかりません。
ノート
質問は当初から変更されているため、検証に関する以下の回答は適用されないことに注意してください。