[JQUERY] 모든 사업부의 내용을 해제하는 방법
JQUERY모든 사업부의 내용을 해제하는 방법
해결법
-
1.폼 요소에 대한 위의 답변의 대부분은에만 작동합니다. 그 내용을 포함한 모든 DIV를 해제하는 간단한 방법은 비활성화 마우스 상호 작용입니다. 예를 들면 :
폼 요소에 대한 위의 답변의 대부분은에만 작동합니다. 그 내용을 포함한 모든 DIV를 해제하는 간단한 방법은 비활성화 마우스 상호 작용입니다. 예를 들면 :
$("#mydiv").addClass("disabledbutton");
CSS
.disabledbutton { pointer-events: none; opacity: 0.4; }
보충:
이 같은 주석 많은 : "이 만 해제하면 마우스 이벤트가 있지만 컨트롤은 여전히 사용할 수 있습니다 것"과 "할 수 있습니다 여전히 탐색 키보드로". 당신은 당신의 스크립트 코드를 추가 할 수 및 입력은 키보드 탭 같은 다른 방법으로 도달 할 수 없습니다. 당신은 당신의 요구에 맞게이 코드를 변경할 수 있습니다.
$([Parent Container]).find('input').each(function () { $(this).attr('disabled', 'disabled'); });
-
2.같은 JQuery와 일을 같은 프레임 워크를 사용합니다 :
같은 JQuery와 일을 같은 프레임 워크를 사용합니다 :
function toggleStatus() { if ($('#toggleElement').is(':checked')) { $('#idOfTheDIV :input').attr('disabled', true); } else { $('#idOfTheDIV :input').removeAttr('disabled'); } }
비활성화 사용하여 입력 요소에서 사업부 블록을 사용 jQuery를 당신을 도움이 될 것입니다!
jQuery를 1.6로, 당신은 비활성화하는 .attr 대신 .prop 사용해야합니다.
-
3.난 그냥 사용 및 요소를 사용하지 않도록이 확장 방법을 언급하고 싶었다. 나는 그것을 추가하고 직접 속성을 제거보다 훨씬 청소기 방법입니다 생각합니다.
난 그냥 사용 및 요소를 사용하지 않도록이 확장 방법을 언급하고 싶었다. 나는 그것을 추가하고 직접 속성을 제거보다 훨씬 청소기 방법입니다 생각합니다.
그럼 당신은 단순히 수행
$("div *").disable();
-
4.여기 사업부하지만 단지 blockelement을 필요로하지 않는 사람들에 대한 빠른 주석입니다. HTML5에서는
-
5.비활성 속성은 폼 요소 DIV 요소에 대한 W3C 스펙의 일부가 아니다.
비활성 속성은 폼 요소 DIV 요소에 대한 W3C 스펙의 일부가 아니다.
마틴에 의해 제안 JQuery와 접근 방식은 이러한 목표를 달성하기 위하여려고하고있는 유일한 절대 안전한 방법입니다.
-
6.당신은 사용 안 함 사건이 간단한 CSS 문을 사용할 수 있습니다
당신은 사용 안 함 사건이 간단한 CSS 문을 사용할 수 있습니다
#my-div { pointer-events:none; }
-
7.cletu의 솔루션과 유사하지만, 내가 그 솔루션을 사용하여 오류가 발생했습니다,이 해결 방법은 다음과 같습니다
cletu의 솔루션과 유사하지만, 내가 그 솔루션을 사용하여 오류가 발생했습니다,이 해결 방법은 다음과 같습니다
$('div *').prop('disabled',true); // or $('#the_div_id *').prop('disabled',true);
나에게 벌금을 작동
-
8.이것을 달성하는 한 가지 방법은 DIV의 모든 어린이들에게 장애인 소품을 추가하는 것입니다. 당신은 매우 쉽게 달성 할 수 있습니다 :
이것을 달성하는 한 가지 방법은 DIV의 모든 어린이들에게 장애인 소품을 추가하는 것입니다. 당신은 매우 쉽게 달성 할 수 있습니다 :
$("#myDiv").find("*").prop('disabled', true);
$는 ( "# myDiv") 사업부를 발견, .find ( "*") 각각을 비활성화합니다 (사실 '장애인') 모든 수준과 .prop 당신의 모든 자식 노드를 가져옵니다.
이 방법은 모든 컨텐츠를 사용할 수 없으며 당신은 그들이 등 또한, 당신이 어떤 CSS 클래스를 추가 할 필요가 없습니다 스크롤, 그들에게 탭을 클릭 할 수 없습니다.
-
9.브라우저 테스트 : IE 9, 크롬, 파이어 폭스와 JQuery와-1.7.1.min.js
브라우저 테스트 : IE 9, 크롬, 파이어 폭스와 JQuery와-1.7.1.min.js
$(document).ready(function () { $('#chkDisableEnableElements').change(function () { if ($('#chkDisableEnableElements').is(':checked')) { enableElements($('#divDifferentElements').children()); } else { disableElements($('#divDifferentElements').children()); } }); }); function disableElements(el) { for (var i = 0; i < el.length; i++) { el[i].disabled = true; disableElements(el[i].children); } } function enableElements(el) { for (var i = 0; i < el.length; i++) { el[i].disabled = false; enableElements(el[i].children); } }
-
10.FIELDSET에 태그 내에서 DIV 랩 :
FIELDSET에 태그 내에서 DIV 랩 :
<fieldset disabled> <div>your controls</div> </fieldset>
-
11.당신이 알고있는 HTML 입력 컨트롤을 비활성화하여 '장애인'속성이 될 수 있습니다. 입력 제어 '비활성화'속성이 설정되면, 이러한 제어와 연관된 이벤트 처리기가 호출되지 않는다.
당신이 알고있는 HTML 입력 컨트롤을 비활성화하여 '장애인'속성이 될 수 있습니다. 입력 제어 '비활성화'속성이 설정되면, 이러한 제어와 연관된 이벤트 처리기가 호출되지 않는다.
당신은 당신이 원하는 경우, 사업부처럼 '장애인'속성을 지원하지 않는 HTML 요소에 대한 행동 이상 시뮬레이션 할 수 있습니다.
당신이 사업부가 있고, 해당 사업부에 클릭이나 키 이벤트를 지원하려면 다음 두 가지 작업을 수행해야합니다 : 당신이 사업부를 사용하지 않을 때 1), 비활성화 된 속성을 설정 평소와 같이 (단지 규칙을 준수합니다) 장애인 속성이 DIV에 설정되어있는 경우 2) 사업부의 클릭 및 / 또는 키 핸들러에서 확인합니다. 이 경우, 단지 클릭 또는 키 이벤트를 (예를 들어, 단지 즉시 반환) 무시하십시오. 장애인 속성을 설정하지 않으면, 다음 사업부의 클릭 및 / 또는 키 이벤트 로직을한다.
위의 단계가 아니라 브라우저 독립적이다.
-
12.나는 노트의 몇 칩 거라고 생각했다.
나는 노트의 몇 칩 거라고 생각했다.
-
13.이 수색자입니다,
이 수색자입니다,
내가 한 가장 좋은이며,
$('#myDiv *').attr("disabled", true); $('#myDiv *').fadeTo('slow', .6);
-
14.댓글에서 언급 한 바와 같이, 당신은 탭 키를 사용하여 요소 사이를 이동하여 여전히 액세스 요소 수 있습니다. 나는이 추천 있도록 :
댓글에서 언급 한 바와 같이, 당신은 탭 키를 사용하여 요소 사이를 이동하여 여전히 액세스 요소 수 있습니다. 나는이 추천 있도록 :
$("#mydiv") .css({"pointer-events" : "none" , "opacity" : "0.4"}) .attr("tabindex" , "-1");
-
15.다음과 같이 장애인의 의미를 유지하고 싶었다면
다음과 같이 장애인의 의미를 유지하고 싶었다면
<div disabled="disabled"> Your content here </div>
다음 CSS를 추가 할 수 있습니다
div[disabled=disabled] { pointer-events: none; opacity: 0.4; }
여기 장점은 작업 할 것을 사업부에 클래스를 사용하여 작업하지 않을 것입니다
-
16.나는 클리 터스 '기능의 향상된 버전을 사용합니다 :
나는 클리 터스 '기능의 향상된 버전을 사용합니다 :
$.fn.disable = function() { return this.each(function() { if (typeof this.disabled != "undefined") { $(this).data('jquery.disabled', this.disabled); this.disabled = true; } }); }; $.fn.enable = function() { return this.each(function() { if (typeof this.disabled != "undefined") { this.disabled = $(this).data('jquery.disabled'); } }); };
어떤 요소의 원래 '장애인'속성을 저장합니다.
$('#myDiv *').disable();
-
17.CSS의 포인터 - 이벤트 속성은 혼자 스크롤에서하지 비활성화 자식 요소를 않습니다, 그것은 (단지 SVG에 대한) DIV 요소 IE10에 의해에서 지원 아니에요. http://caniuse.com/#feat=pointer-events
CSS의 포인터 - 이벤트 속성은 혼자 스크롤에서하지 비활성화 자식 요소를 않습니다, 그것은 (단지 SVG에 대한) DIV 요소 IE10에 의해에서 지원 아니에요. http://caniuse.com/#feat=pointer-events
모든 브라우저에서 DIV의 내용을 사용하지 않으려면.
자바 스크립트 :
$("#myDiv") .addClass("disable") .click(function () { return false; });
CSS는 :
.disable { opacity: 0.4; } // Disable scrolling on child elements .disable div, .disable textarea { overflow: hidden; }
IE10 및 제외하고, 모든 브라우저에서 DIV의 내용을 사용하지 않으려면.
자바 스크립트 :
$("#myDiv").addClass("disable");
CSS는 :
.disable { // Note: pointer-events not supported by IE10 and under pointer-events: none; opacity: 0.4; } // Disable scrolling on child elements .disable div, .disable textarea { overflow: hidden; }
-
18.다음은 가능 마스킹 된 div에 대한보다 포괄적 인 솔루션입니다
다음은 가능 마스킹 된 div에 대한보다 포괄적 인 솔루션입니다
또한 hourglassOn 및 hourglassOff 별도로 사용할 수되는 포함
// elemOrId - jquery element or element id, defaults to $('<body>')' // settings.color defaults to 'transparent' // settings.opacity defaults to 1 // settings.zIndex defaults to 2147483647 // if settings.hourglasss==true change cursor to hourglass over mask function maskOn(elemOrId, settings) { var elem=elemFromParam(elemOrId); if (!elem) return; var maskDiv=elem.data('maskDiv'); if (!maskDiv) { maskDiv=$('<div style="position:fixed;display:inline"></div>'); $('body').append(maskDiv); elem.data('maskDiv', maskDiv); } if (typeof settings==='undefined' || settings===null) settings={}; if (typeof settings.color==='undefined' || settings.color===null) settings.color='transparent'; if (typeof settings.opacity==='undefined' || settings.opacity===null) settings.opacity=1; if (typeof settings.zIndex==='undefined' || settings.zIndex===null) settings.zIndex=2147483647; if (typeof settings.hourglass==='undefined' || settings.hourglass===null) settings.hourglass=false; // stretch maskdiv over elem var offsetParent = elem.offsetParent(); var widthPercents=elem.outerWidth()*100/offsetParent.outerWidth()+'%'; var heightPercents=elem.outerHeight()*100/offsetParent.outerHeight()+'%'; maskDiv.width(widthPercents); maskDiv.height(heightPercents); maskDiv.offset($(elem).offset()); // set styles maskDiv[0].style.backgroundColor = settings.color; maskDiv[0].style.opacity = settings.opacity; maskDiv[0].style.zIndex = settings.zIndex; if (settings.hourglass) hourglassOn(maskDiv); return maskDiv; } // elemOrId - jquery element or element id, defaults to $('<body>')' function maskOff(elemOrId) { var elem=elemFromParam(elemOrId); if (!elem) return; var maskDiv=elem.data('maskDiv'); if (!maskDiv) { console.log('maskOff no mask !'); return; } elem.removeData('maskDiv'); maskDiv.remove(); } // elemOrId - jquery element or element id, defaults to $('<body>')' // if decendents is true also shows hourglass over decendents of elemOrId, defaults to true function hourglassOn(elemOrId, decendents) { var elem=elemFromParam(elemOrId); if (!elem) return; if (typeof decendents==='undefined' || decendents===null) decendents=true; if ($('style:contains("hourGlass")').length < 1) $('<style>').text('.hourGlass { cursor: wait !important; }').appendTo('head'); if ($('style:contains("hourGlassWithDecendents")').length < 1) $('<style>').text('.hourGlassWithDecendents, .hourGlassWithDecendents * { cursor: wait !important; }').appendTo('head'); elem.addClass(decendents ? 'hourGlassWithDecendents' : 'hourGlass'); } // elemOrId - jquery element or element id, defaults to $('<body>')' function hourglassOff(elemOrId) { var elem=elemFromParam(elemOrId); if (!elem) return; elem.removeClass('hourGlass'); elem.removeClass('hourGlassWithDecendents'); } function elemFromParam(elemOrId) { var elem; if (typeof elemOrId==='undefined' || elemOrId===null) elem=$('body'); else if (typeof elemOrId === 'string' || elemOrId instanceof String) elem=$('#'+elemOrId); else elem=$(elemOrId); if (!elem || elem.length===0) { console.log('elemFromParam no element !'); return null; } return elem; }
이것으로 당신은 예를 들어 수행 할 수 있습니다
maskOn(); // transparent page mask maskOn(null, {color:'gray', opacity:0.8}); // gray page mask with opacity maskOff(); // remove page mask maskOn(div); // transparent div mask maskOn(divId, {color:'gray', hourglass:true}); // gray div mask with hourglass maskOff(div); // remove div mask
jsfiddle 참조
-
19.
function disableItems(divSelector){ var disableInputs = $(divSelector).find(":input").not("[disabled]"); disableInputs.attr("data-reenable", true); disableInputs.attr("disabled", true); } function reEnableItems(divSelector){ var reenableInputs = $(divSelector).find("[data-reenable]"); reenableInputs.removeAttr("disabled"); reenableInputs.removeAttr("data-reenable"); }
-
20.아니면 그냥 CSS를하고 "장애인"클래스를 사용합니다. 참고 : 장애인 속성을 사용하지 않습니다. 온 / 오프 jQuery로 엉망 필요가 없습니다. 이것은 훨씬 더 쉽게 크로스 브라우저를 작동합니다
아니면 그냥 CSS를하고 "장애인"클래스를 사용합니다. 참고 : 장애인 속성을 사용하지 않습니다. 온 / 오프 jQuery로 엉망 필요가 없습니다. 이것은 훨씬 더 쉽게 크로스 브라우저를 작동합니다
.disabled{ position: relative; } .disabled:after{ content: ""; position: absolute; width: 100%; height: inherit; background-color: rgba(0,0,0,0.1); top: 0; left: 0; right: 0; bottom: 0; }
페이지를 초기화하거나 버튼을 전환 할 때 그런 다음에 오프를 종료 할 수 있습니다
if(myDiv !== "can be edited"){ $('div').removeClass('disabled'); } else{ $('div').addClass('disabled'); }
-
21.또 다른 방법은 JQuery와의 내부 높이, 폭 및 내부 함유 DIV의 위치를 얻고, 단순히 다른 DIV 투명한 상부 위에 동일한 크기를 오버레이하는 것이다. 이 대신에만 입력, 해당 컨테이너 내부의 모든 요소에서 작동합니다.
또 다른 방법은 JQuery와의 내부 높이, 폭 및 내부 함유 DIV의 위치를 얻고, 단순히 다른 DIV 투명한 상부 위에 동일한 크기를 오버레이하는 것이다. 이 대신에만 입력, 해당 컨테이너 내부의 모든 요소에서 작동합니다.
JS 비활성화와 함께, 당신은 여전히 div의 입력 / 콘텐츠를 사용 할 수 있습니다,하지만 기억하십시오. 같은 너무 위의 답변 간다.
-
22.
$("#yourdivid textarea, #yourdivid input, #yourdivid select").attr('disabled',true);
-
23.이 CSS 만 / NOSCRIPT 용액 상호 작용을 방지 FIELDSET 상기 오버레이 (또는 DIV 또는 다른 원소)를 추가한다 :
이 CSS 만 / NOSCRIPT 용액 상호 작용을 방지 FIELDSET 상기 오버레이 (또는 DIV 또는 다른 원소)를 추가한다 :
fieldset { position: relative; } fieldset[disabled]::after { content: ''; display: inline-block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: all; background: rgba(128,128,128,0.2); }
당신이 보이지 않는 즉 투명 오버레이를 원하는 경우, 예를 들어,의 배경을 설정 RGBA (128,128,128,0), 배경없이 그것을하지 않습니다 작품으로. IE9 +에 대한 위의 작품. 다음 훨씬 간단 CSS는 + IE11에서 작동합니다
[disabled] { pointer-events: none; }
크롬
-
24.당신은 단순히 클릭 사람을 막으려하고 엄청 시리 보안에 대해 걱정하지 않는 경우 - 나는 99999 개 종류 그것을 잘의 Z- 인덱스와 절대 위치 DIV를 발견했다. 당신은 클릭하거나 사업부가 그 위에 배치되어 있기 때문에 컨텐츠에 액세스 할 수 없습니다. A는 단순한 비트와 당신이 그것을 제거 할 필요 때까지 CSS가 유일한 솔루션입니다 수 있습니다.
당신은 단순히 클릭 사람을 막으려하고 엄청 시리 보안에 대해 걱정하지 않는 경우 - 나는 99999 개 종류 그것을 잘의 Z- 인덱스와 절대 위치 DIV를 발견했다. 당신은 클릭하거나 사업부가 그 위에 배치되어 있기 때문에 컨텐츠에 액세스 할 수 없습니다. A는 단순한 비트와 당신이 그것을 제거 할 필요 때까지 CSS가 유일한 솔루션입니다 수 있습니다.
-
25.편집하다: 나는 () 메소드를 CSTE 연구진 사용했습니다 아래 대신 .bind () 메서드를 사용하는 방법
편집하다: 나는 () 메소드를 CSTE 연구진 사용했습니다 아래 대신 .bind () 메서드를 사용하는 방법
$(this).bind('click', false); $(this).bind('contextmenu', false);
당신의 설정을 제거하려면, 당신은 () 메소드를 .unbind 사용할 수 있습니다. .OFF () 메소드가 작동하지 않는 반면 예상대로.
$(this).unbind('click', false); $(this).unbind('contextmenu', false);
수백 개의 솔루션을 연구 한 후! 아래, 포인터 이벤트에 대한 학습 내가 한 것입니다.
@Kokodoko 자신의 솔루션에서 언급 한 바와 같이 IE를 제외한 모든 브라우저 경향이있다. 포인터 이벤트는 낮은 버전에서 IE11과하지 작동합니다. 나는 또한 IE11에서 발견, 포인터 이벤트는 자식 요소에서 작동하지 않습니다. 따라서 우리는 다음과 같은이있는 경우
<a href="www.preshmalinetpereira.wordpress.com"><i class="car icon"></i><span>My Blog</span></a>
어디 스팬 포인터 이벤트를 설정, 자식 요소를 -is : 없음 작동하지 않습니다
이 문제를 극복하기 위해 나는 IE에 대한 포인터 이벤트의 역할을 수 있으며, 낮은 버전에서 작동하는 함수를 썼다.
JS 파일에서
DisablePointerEvents(".DisablePointerEvents"); function DisablePointerEvents(classId) { $(classId).each(function () { $(this).on('click', false ); $(this).on('contextmenu', false ); }); }
CSS 파일에서
.DisablePointerEvents{ pointer-events: none; opacity: 0.7; cursor: default; }
HTML에서
<a href="www.preshmalinetpereira.wordpress.com" class="DisablePointerEvents"><i class="car icon"></i><span>My Blog</span></a>
이 포인터 이벤트 작업을 나던와 자식 요소의 위의 조건이 발생할 때 포인터 - 이벤트 시나리오를 위조.
동일한 용 JS 바이올린
-
26.내 선택에 보면
내 선택에 보면
$myForm.find('#fieldsetUserInfo input:disabled').prop("disabled", false);
fieldsetUserInfo는 DIV 내가 사용하지 않거나 사용하려는 모든 입력을 포함합니다
이 당신을 도움이되기를 바랍니다
-
27.html로 문자열이나 DOM 요소에 걸릴 원하지 않는 태그와 속성을 제거 구성 자바 스크립트 라이브러리가있다. 이러한 HTML 소독제로 알려져 있습니다. 예를 들면 :
html로 문자열이나 DOM 요소에 걸릴 원하지 않는 태그와 속성을 제거 구성 자바 스크립트 라이브러리가있다. 이러한 HTML 소독제로 알려져 있습니다. 예를 들면 :
예를 들면 에서 DOMPurify
DOMPurify.sanitize('<div>abc<iframe//src=jAva	script:alert(3)>def</div>'); // becomes <div>abcdef</div>
from https://stackoverflow.com/questions/639815/how-to-disable-all-div-content by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 페이지로드에 사업부의 맨 아래로 스크롤 (jQuery를) (0) | 2020.10.15 |
---|---|
[JQUERY] $ (이)와 event.target의 차이? (0) | 2020.10.15 |
[JQUERY] 어떻게 라디오 버튼의 선택을 취소합니다? (0) | 2020.10.15 |
[JQUERY] jQuery를에 사용자 정의 이벤트? (0) | 2020.10.15 |
[JQUERY] 사용자 지정 특성에 대한 클라이언트 측 유효성 검사를 수행 (0) | 2020.10.15 |