fancybox에있는 폼의 첫 번째 입력 요소에 포커스를 설정하는 데 문제가 있습니다. 나는 WordPress 3.5.2와 fancybox 2.1.3을 사내 플러그인을 통해로드하고있다.fancybox 대화 상자에서 포커스 설정
나는 라고 생각합니다. DOM에서 포커스를 올바르게 설정하는 경로를 이해할 수 없습니다.
"fancybox-hidden"으로 표시된 div 안에는 두 가지 형식이 있습니다. 각 양식은 고유 ID가있는 div 내에 있습니다. 앵커를 클릭하면 양식이 열립니다. 각 앵커 클릭은 적절한 대화 상자와 함께 작동합니다. 여기
<a href="#login-form" class="fancybox" id="show-logon">Sign On To Your Account</a><br>
<a href="#register-form" class="fancybox" id="show-register">Create A New Account</a>
페이지의 맨 아래에있는 JS 코드 : 다음과 같이 대화 상자를 엽니 다
앵커는
<script type="text/javascript">// <![CDATA[
jQuery(document).ready(function(){
jQuery('a#show-login').fancybox({
'afterLoad' : function(){
jQuery('#user_login').focus();
}
});
jQuery('a#show-register').fancybox({
'afterLoad' : function(){
jQuery('#user_name').focus();
}
});
// ]]</script>
JQuery와에 참조하는 ID의이 후 부하 내에서 호출
함수가 존재합니다. Firebug에서 중단 점을 설정하면 "jQuery ('a # show-login') fancybox가 표시됩니다 ("호출이 처리되고 'afterLoad'속성도 나타납니다.) 그러나 "jQuery (' #user_login ') (초점). "명중되지 않습니다
fancybox 2를 사용하고 있는지 여부는 'oncomplete'가 유효한 API 옵션이 아니기 때문에 확실합니다. 'afterShow'를 대신 사용해보십시오 (fancybox WP 플러그인을 사용하는 경우 v1.3.4 일 가능성이 큽니다) – JFK
감사합니다. JFK. 나는 버전을 확인하고 필요에 따라 첫 단락을 편집했다. – Mophilly
JFK의 관찰에 이어 'onComplete'대신 'afterLoad'를 사용하도록 코드를 수정했습니다. 이 변경으로 인해 콘솔에 오류가 발생하지는 않지만 .focus 호출시 설정된 중단 점은 절대 적중되지 않습니다. – Mophilly