2017-04-16 1 views
0

오버레이 트리거를 클릭하면 오버레이 내부의 링크 버튼에 포커스를 설정하려고합니다. 코드는 다음과 같습니다.Jquery Focus()에 문제가 있습니다.

$('.enroll-trigger, .nav-open-an-account').click(function(e) { 
    e.preventDefault(); 
    enrollTabPos = 0; 
    $('#window-outer, body').removeClass('nav-open'); 
    $('#mobile-menu-toggle').removeClass('active'); 
    $('#top-nav > ul > li').removeClass('active'); 
    $('#mobile-nav > ul > li').removeClass('active'); 
    $('#internal-nav > ul > li').removeClass('active'); 
    $('body').removeClass('login-overlay-open ext-overlay-open'); 
    $('body').toggleClass('enroll-overlay-open'); 
    $('#openaccount-checking').focus();     

}); 

어떤 이유로 포커스 명령이있는 마지막 줄이 작동하지 않습니다. 트리거 요소를 클릭하면 포커스 변경을 제외하고는 모든 일이 발생합니다. 나는 thr 페이지에서 다른 오버레이 트리거와 비슷한 포커스 변경을 가졌으므로 작동하지 않습니다. 나는 이드를 확인했는데 정확하다. 누구든지 모양을 가지고 무슨 일이 일어나는지 말해 줄 수 있습니까? 사이트는 http://investar.meshbr.com에서 볼 수 있으며 해당 트리거는 상단 탐색 메뉴의 계정 열기 버튼입니다.

감사합니다,

브라이언 $(document).ready(function() {}) 내부

+0

당신이에'.triggerHandler ("초점")'시도해 봤어 :

$('#openaccount-checking').focus(); 

이되다? - .focus()는 보이는 요소에서만 작동합니다. – Felix

답변

0

당신이 사용하는 코드? 외부에있을 경우로드되지 않기 때문입니다.

+0

해당 코드가 document.ready 안에 없습니다. –

0

귀하의 웹 사이트를 확인한 후 계정 버튼을 클릭하면 이벤트를 클릭했습니다. 옵션을 확인하는 팝업에 대해 참조 된 JS에 문제가 있습니다. 따라서 작동하지 않습니다.

이 줄을 확인하십시오. this.popupMenu.open(); 라인 175에서 당신의 JS "MenuBarItemLink.JS"에과 180 라인에 대한 표시() 속성 작업이있을 수 있습니다 원래 포스터가 연기하는 setTimeoutfocus() 포장하여 문제를 해결 같은 175

+0

Hi Tapendra, 이것을 지적 해 주셔서 감사합니다. 나는 불행히도 그 문제가 무엇인지 알고있다. 불행하게도, 나는 그 스크립트를 완전히 무력화해도 초점을 맞춘 것은 여전히 ​​효과가 없기 때문에 초점 문제의 주범으로 보이지 않는다. popupMenuOpen이 실행되는 이유는 내 cms 코드가 실제로 메뉴 항목 중 일부에 자식이 있다는 코드를 출력하는 글리치가 있기 때문에 MenuBarItemLink js 파일에 자식이 있다고 생각하기 때문입니다. 존재하지 않는 부 메뉴를 열려고합니다. 나는 그것을 해제했지만 포커스 문제는 여전히 발생하고 있습니다. –

0

이 보이는 그것의 실행.

그래서이 라인 :

setTimeout(function(){ 
     $('#openaccount-checking').focus(); 
    }, 500); 
관련 문제