2012-11-19 4 views
4

나는 fancybox를 사용하여 양식이있는 팝업 창을 엽니 다. 현재 마우스가 메인 페이지를 떠날 때 팝업이 생기게됩니다. 이 작품을 만들기 위해서 나는 숨겨진 링크 태그를 가지고 있는데,이 링크는 trigger() 함수로 시뮬레이트한다. 링크는 href로되어 있는데, 이는 fancybox와 함께 id라는 것이다. 코드는 다음과 같습니다 :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 (권장) : 숨겨진 링크를 하나의 함수 :

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

참조 : JSFIDDLE

로 마우스를 모두
+0

이 fancybox이 맞다 "$ ('yourcontentSelector을')"? –

+0

콘텐츠를 HTML 콘텐츠로 렌더링하는 것처럼 보이지만 "#feedback_form"이 포함 된 상자를 만들었습니다. –

+1

@marios : 예, fancybox v2.1.3 ... 코드를 표현한 방식으로 양식이 온라인 문서 (숨김)로되어 있지 않습니까? 그렇지 않으면 더 많은 정보를 제공하거나 코드를 표시해야합니다. 나는 [JSFIDDLE] (http://jsfiddle.net/kmqzV/)이 아주 구체적이라고 생각한다. – JFK

0

또한 아마로 마우스를 사용할 수 있습니다

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

그 도움말 TBH의 대부분의 있지만 원래 IE 만 사건이었다하는 MouseLeave보다 약간 더 좋을 수 있습니다 경우 확실하지.

+0

불행하게도 이것은 내가 'HREF'로 변경하는 경우에만 해당 요청이 전달 될 수없는 메시지를 보여줍니다 –

-2

당신은 간단하게이 작업을 수행 할 수 있습니다

$(document).mouseleave(function() { 

//Triggers popup 
jQuery.fancybox({ 

href:$('yourcontentSelector'); 

}); 

}); 
+0

에서 작동하지 않았다 –