나는 다른 요소를 클릭하여 표시되는 (전환 한) div를 만들고 있습니다.JQuery 토글은 첫 번째 클릭에서 작동하지만 (예상대로)
앵커 (#toggle-contents
)를 클릭하고 문서에서 동일한 앵커 또는 다른 곳을 클릭하면 숨겨져 있어야합니다.
나는이 사용법의 코드를 따르고 있습니다 : Creative overlay/popup with jQuery.
현재 처음으로 클릭하기 위해 노력하고 있습니다.하지만 곧 표시되고 숨겨집니다.
마크 업 :
<div id="block-header">
<a id="trigger-contents">Toggle</a>
</div>
<div id="block-contents">
</div>
자바 스크립트가 :
function registerToggleDiv(trigger, toggle)
{
$('#' + trigger).click(function()
{
$('#' + toggle).toggle(function()
{
console.log('toggle');
$(document).click(function(event)
{
if (!($(event.target).is('#' + toggle) ||
$(event.target).parents('#' + toggle).length ||
$(event.target).is('#' + trigger)))
{
console.log('toggle hide');
$('#' + toggle).hide(500);
}
});
});
});
}
registerToggleDiv('trigger-contents', 'block-contents');
나는 여기에 다른 토글 질문에 비교하는 오류를 찾을려고 노력하지만, 어떤 힌트를 찾을 수 없습니다.
어떤 힌트를 부탁드립니다.
당신이 당신의 html 코드를 게시 할 수 있습니다
당신은
onclick
이벤트를 문서화하는 바인딩? – Unknown왜 사용하려고하지 않으려 고합니다 : $ ('#'+ toggle) .toggle(); 이 줄 $ ('#'+ toggle) .hide (500); 그것을 숨길 수 있습니다. – Daniel
어떻게/토글'변수를 처음 사용합니까? – Omid