4

fancybox を使用して、フォーム付きのポップアップ ウィンドウを開きます。現時点では、マウスがメインページを離れたときにポップアップが表示されます。これを機能させるために、fancybox のフォーム ID であるリンクの href が有効になるようにクリックされる trigger() 関数でシミュレートする非表示のリンク タグがあります。次のようにコードします。

<a id="trigger" href="#feedback_form" style="display:none"></a>


$(document).mouseleave(function() {

//Triggers popup
$("#trigger").fancybox().trigger('click'); 

     //Popup function
     $("#trigger").fancybox({

     });

 });

これを行う他の方法はありますか?

4

3 に答える 3

9

オプション 1 : 隠しリンクと 2 つの機能:

1.1 fancybox を selector にバインドします。

$("#trigger").fancybox();

1.2 次に、セレクターをトリガーします。

$("#trigger").trigger('click'); 

オプション 2 : 隠しリンクと単一の機能:

$(document).mouseleave(function() {
    $("#trigger").fancybox().trigger('click');
});​

参照:JSFIDDLE

オプション 3 (推奨): 非表示のリンクがなく、機能が 1 つだけの場合:

$(document).mouseleave(function() {
    $.fancybox("#feedback_form");
});​

参照:JSFIDDLE

于 2012-11-19T17:24:20.950 に答える
0

mouseout を使用することもできます。

$(document).mouseout(function() {
  $(".fancybox").fancybox();
});

それが大いに役立つかどうかはわかりませんが、もともと IE のみのイベントだった mouseleave よりもわずかに優れている可能性があります。

于 2012-11-19T10:54:15.040 に答える
-2

これを簡単に行うことができます:

$(document).mouseleave(function() {

//Triggers popup
jQuery.fancybox({

href:$('yourcontentSelector');

 });

});
于 2012-11-19T10:54:40.980 に答える