창이 490을 초과하면 jquery 이벤트를 삭제하려고합니다. 그러나 unblind() 또는 off() 요소는 창이 490px보다 작아지면 활성화 된 동작을 비활성화하지 않습니다. 왜 이런거야? 누구든지 선택을 원래 상태로 되돌릴 수있는 방법을 알고 있습니까? 여기 창 크기를 조정할 때 jQuery 이벤트의 바인딩 해제/해제 방법
$(document).ready(function(){
$(window).resize(function(){
if ($(window).width()<490) {
$("#shown").unbind().click(function(){
event.preventDefault();
$("body div hidden").toggle('slow');
});
}
else if ($(window).widht()>=490) {
$("#shown").unbind();
$("body div hidden").unbind();
}
});
});
</script>
정확히 달성하기를 원하십니까? –
항상 이벤트 핸들러를 바인드/바인드 해제하는 것보다 클릭 이벤트 자체에서 창 크기를 확인하는 것이 훨씬 쉽습니다. 또한 미디어 쿼리를 사용하는 CSS만으로도 이것을 달성 할 수 있으며'pointer-events : none' –
'hidden' 선택기가 의심스러워 보입니다. 클래스 또는 의사 선택자': hidden', 요소 유형이 아닌 것 같습니다. 어쨌든, ypu는 Rory의 조언을 따르는 편이 낫습니다 –