2012-11-19 76 views
4

我使用fancybox打開一個窗體的彈出窗口。此時,當鼠標離開主頁時,彈出窗口才會生效。爲了使這項工作,我有一個隱藏的鏈接標記,我模擬觸發器()函數,點擊鏈接的HREF是形式ID與fancybox進來的生活。代碼如下:jQuery Fancybox trigger

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


$(document).mouseleave(function() { 

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

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

    }); 

}); 

有沒有其他方法可以做到這一點?

回答

8

選項1:隱藏鏈接和兩個功能:

1.1綁定的fancybox給選擇:

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

1.2,則觸發選擇:

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

選項2:隱藏鏈路和一個單一的功能:

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

參見:JSFIDDLE

選項3(推薦):NO隱藏鏈路和一個單一的功能:

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

參見:JSFIDDLE

+0

這是2的fancybox正確的? –

+0

我做到了這一點,但隨着內容出現,帶有「#feedback_form」的框將它呈現爲html內容。 –

+1

@marios:是的,這是fancybox v2.1.3 ...你提交代碼的方式,表單是一個在線(隱藏)在你的文檔,不是嗎?否則你需要提供更多信息或顯示你的代碼。我認爲[JSFIDDLE](http://jsfiddle.net/kmqzV/)非常具體。 – JFK

0

你也可以使用,也許鼠標移開:

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

不知道這是多大的幫助TBH,但它可能會比鼠標離開這原本是一個只有IE事件略勝一籌。

+0

鼠標移開一點都沒有 –

-2

你可以簡單地這樣做:

$(document).mouseleave(function() { 

//Triggers popup 
jQuery.fancybox({ 

href:$('yourcontentSelector'); 

}); 

}); 
+0

工作,遺憾的是這說明消息只有當我改成了「HREF」這一請求無法傳遞:「$(‘yourcontentSelector’)」 –