2012-10-05 5 views
0

두 번의 클릭을 시뮬레이션하여 메뉴를 열려고합니다. 첫 번째 것은 메뉴를 열고 두 번째는 하위 메뉴이지만 첫 번째 클릭() 후에 함수가 중지됩니다.클릭 후 함수가 중지됩니다.

이 내 JS 코드 :이 코드와 HTML 내 함수를 호출

function open_menu(id_menu, id_sub_menu) { 
    $('.sous-domaines a#lien-domaine-'+id_menu).click(); 
    $('a#lien-menu-'+id_sub_menu).click(); 
} 

:

<span onClick="open_menu('0', '116')">Open sub-menu</span> 
+0

HTML 및 이벤트 코드를 클릭하십시오. –

+2

또한 콘솔 섹션의 모든 오류 ?? 콘솔에 –

+0

이 있습니다. Erreur : 잡히지 않은 예외 : 구문 오류, 인식 할 수없는 표현 : # – Amar

답변

0

당신은 너무 빨리 어쩌면 그 일을하고 있습니다.

랩에서 두 번째로 하나 window.setTimeout()

+0

심지어 경고()가 작동하지 않습니다 – Amar

0

그럼 당신이 내가 열고 메뉴 곳

http://jsfiddle.net/tRg3e/2/

이없는 사실이 아닌 다른 시도, 그것은 거의 당신이 가지고 원하든이며, 제공 할 수 있습니다

.click()은 핸들러가 연결되어있을 때만 작동한다고 생각합니다. 요소의 기본 클릭을 트리거하지 않습니다. 핸들러없이 링크를 시도하면 링크가 실행되지 않습니다.

+0

예, 첫 번째 클릭() 작동 – Amar

+0

@Amar 이것을 시도하십시오 http://jsfiddle.net/tRg3e/2/ 트리거하는 요소에 대한 클릭 처리기를 바인드하지 않으면 작동하지 않습니다. – Huangism

0

이 ? 먼저이 같은

var IsClick = false; 

function open_menu(id_menu, id_sub_menu) { 
    $('.sous-domaines a#lien-domaine-'+id_menu).click(); 
    if (IsClick){ fnSecondClick();} 
} 

function fnSecondClick() { 
//open submenu 

} 

또는 무언가를 클릭 한 후 부울을 설정 - 메뉴가 표시되면 확인을 클릭에 :

function open_menu(id_menu, id_sub_menu) { 
    $('.sous-domaines a#lien-domaine-'+id_menu).click(); 
    if ($(element).is(":visible")){ fnSecondClick();} 
} 
0

당신은 떨어져 같은 요소에 선언 '온 클릭'에서 이탈한다, 나쁜 습관이다 내가 기억한다면. 그럼에도 불구하고, 그것은 여전히 ​​작동합니다.

당신이 생각을 명확하게 도움이 될 몇 가지 HTML 코드를 제공 할 수 있지만 예를 들어, 트리거 이벤트 설정할 수있는 경우 :

http://jsfiddle.net/wrN2u/3/

편집 : 토글로 - http://jsfiddle.net/wrN2u/18/

+0

나쁜 형식이 아닙니다. 귀하를 분리하는 좋은 습관입니다. 가능한 한 HTML에서 코드 및 CSS를 가져와야합니다. – Blazemonger

+0

오, 내 잘못이야. 정보 주셔서 감사합니다! - 수정 된 답변. – Jish

관련 문제