2012-07-06 5 views
2

두꺼운 상자 안의 버튼을 클릭하여 jquery thickbox를 닫는 방법.버튼 클릭시 thickbox 닫기

JQuery와 :

<script src="../js/jquery.min.js"></script> 
<script type="text/javascript" src="../js/thickbox.js"></script> 
<script type="text/javascript" 

$('#button').click(function(){ 
    $('#TB_window').fadeOut(); 
}); 

</script> 

HTML :

<input type="submit" id="button" value="clse" > 

나는이 기능을 시도했지만 그 작동하지 않습니다 도와주세요 ....

+2

두꺼운 상자에는 메서드가 내장되어 있습니다. 'tb_remove'는 필요할 때마다이 메소드'tb_remove();를 호출합니다. 그것은 thickbox를 적절하게 닫을 것입니다. 내 대답은 아래에 쓰여져있다. http://stackoverflow.com/a/21216272/1124612 –

답변

2

당신은 기본 이벤트의 실행을 방지해야 입력의. 여기에 코드를 변경 :

$('#button').click(function(){ 
    $('#TB_window').fadeOut(); 
    e.preventDefault(); 
}); 
+0

아직받지 못했습니다. –

+0

알림()을 추가하면 해당 기능이 제대로 실행되는지 확인할 수 있습니다. 또한이 선택이 유효한 결과를 리턴하는지보기 위해 $ ('# TB_window')의 결과를 인쇄하십시오. –

+1

'e.preventDefault()'를 사용하면 더 좋을 것입니다. [잘못된 반환 오지 중지] (http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/). –

0

을 내가 좋아하는 대신 "제출"의 "버튼"사용하는 것이 좋습니다 :

<input type="button" id="button" value="close" /> 

그런 다음 jQuery 코드는 다음과 같아야합니다

$(document).ready(function{ 
    $('#button').click(function(){ 
    $('#TB_window').fadeOut(); 
    }); 
}); 

처럼 이 경우 e.preventDefault()을 사용할 필요가 없습니다.
$(document).ready() 부분은 실제로 중요하지 않습니다. 이 jQuery가 없으면 코드가 버튼에 첨부되기 전에 심지어 존재하기 때문에 작동하지 않습니다.

side-note : 저는 DIV 요소를 버튼으로 사용하고 싶습니다.

1

이 솔루션은 ..... 당신이 분명하다 thickbox.js을 포함하는 경우 시도보다이 당신에게

0

도움이 될 것입니다 한 번

$(document).ready(function{ 
    $('#button').click(function(){ 
    self.parent.tb_remove(); 
    }); 
}); 

희망을하려고 나를 위해 일한

$('#closeTBWindow').click(tb_remove); 
4

두꺼운 상자에는 메서드가 내장되어 있습니다. tb_remove 어디서나이 방법을 tb_remove();이라고 부릅니다. 그것은 thickbox를 적절하게 닫을 것입니다.

$('#TB_window').fadeOut();을 사용하면 TB_overlay DIV가 열린 상태로 유지됩니다. $('#TB_overlay').fadeOut();과 같은 말도 안되는 것을 다시하면 thickbox에 문제가 발생할 것입니다. 그리고 thickbox는 기능을 멈출 것입니다.

+0

이것은 올바른 대답이어야합니다. –