4

我使用 fancybox 来打开一个带有表单的弹出窗口。目前,当鼠标离开主页时,弹出窗口就会出现。为了完成这项工作,我有一个隐藏的链接标签,我用 trigger() 函数模拟该标签,单击该链接的href,它是用fancybox形成的id。代码如下:

<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:隐藏链接和两个功能:

1.1 将 fancybox 绑定到选择器:

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

1.2 然后触发选择器:

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

选项 2:隐藏链接和单一功能:

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

请参阅:JSFIDDLE

选项 3(推荐):无隐藏链接和单一功能:

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

请参阅:JSFIDDLE

于 2012-11-19T17:24:20.950 回答
0

您也可以使用 mouseout:

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

不确定这是否有很大帮助,但它可能比 mouseleave 稍微好一些,mouseleave 最初是一个仅限 IE 的事件。

于 2012-11-19T10:54:15.040 回答
-2

你可以简单地这样做:

$(document).mouseleave(function() {

//Triggers popup
jQuery.fancybox({

href:$('yourcontentSelector');

 });

});
于 2012-11-19T10:54:40.980 回答