div를 비활성화하면 모든 콘텐츠도 비활성화되었다는 가정하에있었습니다.
그러나 내용은 회색으로 표시되지만 여전히 상호 작용할 수 있습니다.
그렇게 할 수있는 방법이 있습니까? (div 비활성화 및 모든 콘텐츠 비활성화)
답변
위의 답변 중 다수는 양식 요소에서만 작동합니다. 내용을 포함하여 DIV를 비활성화하는 간단한 방법은 마우스 상호 작용을 비활성화하는 것입니다. 예를 들면 다음과 같습니다.
$("#mydiv").addClass("disabledbutton");
CSS
.disabledbutton {
pointer-events: none;
opacity: 0.4;
}
답변
JQuery와 같은 프레임 워크를 사용하여 다음과 같은 작업을 수행하십시오.
function toggleStatus() {
if ($('#toggleElement').is(':checked')) {
$('#idOfTheDIV :input').attr('disabled', true);
} else {
$('#idOfTheDIV :input').removeAttr('disabled');
}
}
jQuery 를 사용하여 Div 블록에서 입력 요소 비활성화 및 활성화 가 도움이 될 것입니다!
jQuery 1.6부터는 비활성화 .prop
대신 사용해야 합니다 .attr
.
답변
난 그냥 요소를 활성화 및 비활성화하는이 확장 방법 을 언급 하고 싶었다 . 속성을 직접 추가하고 제거하는 것보다 훨씬 깨끗한 방법이라고 생각합니다.
그런 다음 간단하게 수행하십시오.
$("div *").disable();
답변
다음은 div가 필요하지 않고 블록 요소 만 필요한 사람들을위한 빠른 의견입니다. HTML5 <fieldset disabled="disabled"></fieldset>
에서는 disabled 속성이 있습니다. 비활성화 된 필드 세트의 모든 양식 요소는 비활성화되어 있습니다.
답변
disabled 속성은 DIV 요소 에 대한 W3C 사양의 일부가 아니며 양식 요소 에만 해당됩니다 .
Martin이 제안한 jQuery 접근 방식은이를 달성 할 수있는 유일한 방법입니다.
답변
cletu의 솔루션과 비슷하지만 해당 솔루션을 사용하는 동안 오류가 발생했습니다.
$('div *').prop('disabled',true);
// or
$('#the_div_id *').prop('disabled',true);
나에게 잘 작동
답변
이 간단한 CSS 문을 사용하여 이벤트를 비활성화 할 수 있습니다
#my-div {
pointer-events:none;
}