2016-10-20 2 views
0

메뉴를 열면 모든 항목이 접히는 (두 번째 레벨이있는) WordPress 모바일 탐색 기능이 있습니다. 메뉴가 열리면 about-us 섹션을 열어야합니다. 그래서 나는이 코드를 시도하지만 행운은 없다. .w-nav-control은 메뉴 컨트롤러 클래스입니다. 내가 뭘 잘못하고 있는지 도와 주시겠습니까?또 다른 클릭 후 클릭 이벤트를 트리거하는 방법

jQuery(function($) { 
    $(document).on('click', '.w-nav-control', function(event) { 
    event.preventDefault(); 
     setTimeout(function() { 
     $('.autoopen').find('span.w-nav-arrow').trigger('click'); 
     }, 800); 
    }); 
}); 
+1

이 응답하지 않습니다,하지만 내가 클릭을 유발하는 것이 있음을 경고합니다 나쁜 습관과 그것을 사용해서는 안됩니다 (https://davidwalsh.name/dont-trigger-real-event-names). 최소한 예를 들어 'menu-open'또는 'menu-close'와 같은 맞춤 이벤트를 사용하고 해당 노드가이 이벤트를 수신하도록해야합니다. –

+0

트리거를하는 대신 드롭 다운 메뉴를 직접 표시하지 않는 것이 좋습니다. –

+0

직접 표시 할 수있는 옵션이 없습니다 – Firefog

답변

1

jsfiddle 없이는 문제를 해결하기가 어렵지만 여기에서 문제를 해결하는 방법은 다음과 같습니다. 코드 캡처에는 기본적으로 두 가지 오류 지점 (클릭 캡처 및 클릭 트리거)이 있습니다. 첫째, 클릭 이벤트가이 코드로 트리거되고 있는지 확인하십시오 것 :

jQuery(function($) { 
    $(document).on('click', '.w-nav-control', function(event) { 
    event.preventDefault(); 
    alert('clicked'); 
    }); 
}); 

을 그 당신은 문제가 당신의 클릭 트리거 코드에 달려 알고, 작동하는 경우.

$('#menu-item-5897').find('span.w-nav-arrow').trigger('click'); 

혹은 :

$('#menu-item-5897 > .w-nav-anchor > .w-nav-arrow').trigger('click'); 

아니면 : 아마도 더 구체적인 선택하려고

$('.autoopen > .w-nav-anchor > .w-nav-arrow').trigger('click'); 
+0

감사합니다. 메뉴 선택기'$ ('# menu-item-5897> .w-nav-anchor> .w-nav-arrow'). trigger ('click'); 그리고 그것은 작동하지만 나는'setTimeout (function()'을 좀 더 전문적으로 사용한다. – Firefog

관련 문제