2014-05-22 4 views
0

다른 질문을 통해 살펴 보았는데 광산 솔루션이 작동하지 않는 이유를 알 수 없었습니다. 어쩌면 내가 놓친 걸 발견 할 수있을거야. 감사jquery trigger 다른 요소를 클릭하십시오.

$('#badge').on('click', function(e) { 
    e.stopImmediatePropagation(); 
    if (! $(e.target).is('a')) { 
     $(this).parent('div').find("a").trigger('click'); 
    } 
}); 

어떤 제안 : 난 할 노력하고있어 ID 배지

HTML

<div id="call-out"> 
    <div id="badge">Brochure</div> 
    <p>Add <a href="http://www.google.com" target="_blank">test</a> content</p> 
</div> 

와 jQuery DIV 클릭하면서 클릭을 유발한다. 이 시도 http://jsfiddle.net/m89wa/2/

+0

클릭이 작동하고 있습니다. http://jsfiddle.net/m89wa/4/ 팝업이 작동하지 않는 것 같습니다. – caspian

+0

나는 그것이 href 속성을 찾아서 window.location을하지 않고 열 것이라고 가정하고 있었을 것이다. 아마도 내가 잘못 가정했을 것이다. – trikess

+0

그래, 새 창을 열어보고 싶다면'window.open ("")'을하거나 @ jandro5가 제시하는 것을 할 수있다. – caspian

답변

0

:

$('#badge').on('click', function(e) { 
e.stopImmediatePropagation(); 
$(this).parent().find('a').trigger('click'); 
}); 
당신이 JQuery와 요소에 인수없이 click 함수를 호출하는 경우

Demo

0

, 그것은 그 요소에 클릭 이벤트를 트리거 여기 내 테스트입니다 .

http://api.jquery.com/click/

$('#badge').on('click', function(e) { 
    e.stopImmediatePropagation(); 
    $(this).parent().find('a').click();  
}); 
+0

이것은 이미 주어진 답변과 어떻게 다른가요? –

+0

유일한 차이점은 .trigger ('click') 대신 .click()입니다. 차이는 크지 않지만 조금 더 간결합니다. – jdmcnair

2

변화 :.. $ (이) .parent ('DIV') 찾을 수 있습니다 ("A") 트리거 ('클릭');

try : location.href = $ (this) .parent ('div'). find ("a"). attr ("href");

+0

좋은 답변 -'window.open'을 대안으로 추가하면 이것이 @trikess가 찾고있는 것입니다. – caspian