सभी div सामग्री को अक्षम कैसे करें


278

मैं इस धारणा के तहत था कि अगर मैंने डिव को निष्क्रिय कर दिया, तो सारी सामग्री भी निष्क्रिय हो गई।

हालाँकि, सामग्री ग्रे है लेकिन मैं अभी भी इसके साथ बातचीत कर सकता हूं।

क्या ऐसा करने के लिए कोई रास्ता है? (डिव को अक्षम करें और सभी सामग्री को भी अक्षम करें)

जवाबों:


530

उपरोक्त कई उत्तर केवल फार्म तत्वों पर काम करते हैं। अपनी सामग्री सहित किसी भी DIV को अक्षम करने का एक सरल तरीका सिर्फ माउस इंटरैक्शन को अक्षम करना है। उदाहरण के लिए:

$("#mydiv").addClass("disabledbutton");

सीएसएस

.disabledbutton {
    pointer-events: none;
    opacity: 0.4;
}

18
सही उत्तर के लिए +1 - आपने मुझे काम के घंटे बचाए हैं !!! आँखों में आँसू और प्यार हो सकता है - यह सभी ब्राउज़रों द्वारा भी समर्थित है: caniuse.com/#feat=pointer-events
tfmontague

10
मुझे पता है कि यह काफी देर हो चुकी है, लेकिन फिर भी, यह IE 8, IE 9 और IE 10. द्वारा समर्थित नहीं है। बस हर किसी को पता होना चाहिए। caniuse.com/#feat=pointer-events
Razort4x

14
यह केवल माउस ईवेंट्स को अस्वीकृत करेगा, लेकिन नियंत्रण अभी भी सक्षम है।
मारियो लेवरो

44
नोट: इस समाधान के साथ, आप इस तत्व, या इस तत्व के किसी भी बच्चे के साथ, माउस के साथ, या टच डिवाइस पर बातचीत नहीं कर सकते। लेकिन आप अभी भी अपने कीबोर्ड से इसे टैब कर सकते हैं।
एडम

12
अभी भी कीबोर्ड के माध्यम से सुलभ है।
तोमर डब्ल्यू

147

चीजों को करने के लिए JQuery जैसे ढांचे का उपयोग करें:

function toggleStatus() {
    if ($('#toggleElement').is(':checked')) {
        $('#idOfTheDIV :input').attr('disabled', true);
    } else {
        $('#idOfTheDIV :input').removeAttr('disabled');
    }   
}

अक्षम करें और एक दिव्य ब्लॉक में इनपुट तत्वों को सक्षम करें jQuery का उपयोग करके आपको मदद करनी चाहिए!

JQuery 1.6 के रूप में, आपको अक्षम करने के .propबजाय उपयोग करना चाहिए .attr


2
"मैन्युअल रूप से" सभी इनपुट्स का चयन करना ... मैं कोशिश करूँगा कि, लेकिन क्या इसे डिव को अक्षम करने के लिए पर्याप्त नहीं होना चाहिए?
जुआन

जब मैं अन-डिसेबल करने के लिए टॉगल करता हूं, तो कुछ पेजेशन बटन जिन्हें डिसेबल रहने की जरूरत होती है, उन्हें भी टॉगल किया जाता है ...
juan

आप इस बटन को फ़िल्टर कर सकते हैं और ".attr ('अक्षम', सत्य);" हर बार उन पर! बस एक $ ('# idOfPagination') करते हैं। Attr ('अक्षम', सत्य); अगर {} और {} निर्माण के बाद।
मार्टिन के।

वास्तव में उनकी स्थिति कहीं और नियंत्रित की जाती है, यह इस बात पर निर्भर करता है कि मैं जिस सूची पर पेजिंग कर रहा हूं, वह किस पृष्ठ पर है (उन्हें हमेशा अक्षम होने की आवश्यकता नहीं है)। मुझे कंटेंट कंट्रोल की मूल स्थिति में बदलाव किए बिना इसे करने की आवश्यकता होगी
जुआन

आप उनकी स्थिति को भी jquery के साथ देख सकते हैं और इसे बचा सकते हैं। Do: $ ('# idOfPagination') है। (': अक्षम')? disablePagination = false: निष्क्रियकरण = true; वैश्विक क्षेत्र में एक बार, सीधे पेज लोड होने के बाद।
मार्टिन के।

50

मैं केवल तत्वों को सक्षम और अक्षम करने के लिए इस विस्तार विधि का उल्लेख करना चाहता था । मुझे लगता है कि यह सीधे विशेषताओं को जोड़ने और हटाने की तुलना में बहुत क्लीनर तरीका है।

तो फिर तुम बस करो:

$("div *").disable();

इस समाधान से बड़े पृष्ठों में दुष्प्रभाव हो सकते हैं! (डिव कंटेनर / हर अंतर्निहित तत्व का कोई स्थिर संदर्भ नहीं है)
मार्टिन के।

यदि आप asp.net का उपयोग कर रहे हैं, तो आपको पैनल कंट्रोल को अक्षम करने पर एक <div अक्षम = "अक्षम"> मिलेगा। यह बाल तत्वों के लिए काम करता है (यानी। वे निष्क्रिय हो जाते हैं) IE में लेकिन अन्य ब्राउज़र नहीं। आप क्रोम / फ़ायरफ़ॉक्स में सभी बच्चों के तत्वों को jquery अक्षम फ़ंक्शन के साथ जोड़कर अक्षम कर सकते हैं ... $ ("div [अक्षम = 'अक्षम']: इनपुट") अक्षम करें ();
स्टुअर्ट

34

यहां उन लोगों के लिए एक त्वरित टिप्पणी है जिन्हें एक div की आवश्यकता नहीं है, लेकिन सिर्फ एक ब्लॉकबेलमेंट है। HTML5 <fieldset disabled="disabled"></fieldset>में अक्षम विशेषता मिली। अक्षम फ़ील्डसेट में प्रत्येक प्रपत्र तत्व अक्षम है।


1
यह एक महान जवाब है - यह गतिशील वस्तुओं को अक्षम अवस्था में पैदा करने की अनुमति देता है, जब तक कि वे निर्माण पर अक्षम राज्य का परीक्षण करने के बजाय ब्लॉक तत्व के भीतर हैं - और तत्व वास्तव में अक्षम हैं।
साल्मनमोसे

यह सबसे अच्छा जवाब है। यह ब्राउज़र को बताते हुए सबसे शब्दार्थ से सही है कि इस फ़ील्ड के भीतर सभी इनपुट अक्षम होने चाहिए। यह कीबोर्ड का सम्मान करता है और जेएस की अपंजीकरण से निपटने के लिए माउस की आवश्यकता नहीं होती है। एक टिप्पणी, हालांकि, इस टिप्पणी के समय के अनुसार, एज किसी अन्य फ़ील्डसेट के अंदर मूल फ़ील्डसेट से अक्षम विशेषता मान को इनहेरिट नहीं करेगा।
स्टीफन वॉटकिंस

महान एक, हमेशा सबसे अच्छा समाधान सबसे सरल एक धन्यवाद हैं।
स्टूडियोएक्स

15

विकलांग विशेषता के लिए W3C कल्पना का हिस्सा नहीं है DIV तत्वों , केवल के लिए प्रपत्र तत्वों

मार्टिन द्वारा सुझाया गया jQuery का दृष्टिकोण एकमात्र मूर्खतापूर्ण तरीका है जिसे आप इसे पूरा करने जा रहे हैं।


12

cletu के समाधान के समान, लेकिन मुझे उस समाधान का उपयोग करके एक त्रुटि मिली, यह है वर्कअराउंड:

$('div *').prop('disabled',true);
// or
$('#the_div_id *').prop('disabled',true);

मुझ पर ठीक काम करता है



6

ब्राउज़रों का परीक्षण: 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);
        }
    }

5

जैसा कि आप जानते हैं कि 'अक्षम' विशेषता का उपयोग करके HTML इनपुट नियंत्रणों को निष्क्रिय किया जा सकता है। एक बार इनपुट नियंत्रण के लिए 'अक्षम' विशेषता सेट हो जाने पर, इस तरह के नियंत्रण से जुड़े घटना संचालकों को आमंत्रित नहीं किया जाता है।

आपको HTML तत्वों के लिए उपर्युक्त व्यवहार का अनुकरण करना है जो यदि आप चाहते हैं तो 'अक्षम' विशेषता जैसे div का समर्थन नहीं करते हैं।

यदि आपके पास एक div है, और आप उस div पर क्लिक या एक महत्वपूर्ण घटना का समर्थन करना चाहते हैं, तो आपको दो काम करने होंगे: 1) जब आप div को अक्षम करना चाहते हैं, तो इसकी अक्षम विशेषता को हमेशा की तरह सेट करें (बस इसका पालन करने के लिए) कन्वेंशन) 2) अपने div क्लिक और / या प्रमुख हैंडलर में, जांचें कि डिव पर डिसेबल विशेषता सेट है या नहीं। यदि ऐसा है, तो बस क्लिक या कुंजी ईवेंट की उपेक्षा करें (जैसे कि तुरंत वापस लौटें)। यदि अक्षम विशेषता सेट नहीं है, तो अपने div के क्लिक और / या महत्वपूर्ण ईवेंट लॉजिक करें।

ऊपर दिए गए कदम ब्राउज़र स्वतंत्र भी हैं।


5

इसे प्राप्त करने का एक तरीका यह है कि डिव के सभी बच्चों को विकलांगों के साथ जोड़ा जाए। आप इसे बहुत आसानी से प्राप्त कर सकते हैं:

$("#myDiv").find("*").prop('disabled', true);

$("#myDiv")div पाता है, .find("*")आपको सभी स्तरों में सभी बच्चे नोड मिलते हैं और .prop('disabled', true)प्रत्येक को निष्क्रिय करते हैं।

इस तरह सभी सामग्री अक्षम हो गई हैं और आप उन्हें क्लिक नहीं कर सकते हैं, उन्हें टैब कर सकते हैं, उन्हें स्क्रॉल कर सकते हैं, आदि। इसके अलावा, आपको किसी भी सीएसएस वर्गों को जोड़ने की आवश्यकता नहीं है।


4

divएक fieldsetटैग के भीतर लपेटें :

<fieldset disabled>
<div>your controls</div>
</fieldset>

2

मुझे लगा कि मैं एक-दो नोटों में चिप लगाऊंगा।

  1. IE8 / 9 में <div> को निष्क्रिय किया जा सकता है। मुझे लगता है कि यह "गलत" है, और इसने मुझे फेंक दिया
  2. .RemoveProp () का उपयोग न करें, क्योंकि इसका तत्व पर स्थायी प्रभाव है। इसके बजाय .prop ("अक्षम", गलत) का उपयोग करें
  3. $ ("# myDiv")। फ़िल्टर ("इनपुट, टेक्सारिया, सिलेक्ट, बटन")। प्रोप ("अक्षम", सत्य) अधिक स्पष्ट है और आपके द्वारा याद किए जाने वाले कुछ फॉर्म तत्वों को पकड़ लेगा: इनपुट

2

यह खोजकर्ताओं के लिए है,

मैंने जो सबसे अच्छा किया वह है,

$('#myDiv *').attr("disabled", true);                   
$('#myDiv *').fadeTo('slow', .6);

2

जैसा कि टिप्पणियों में उल्लेख किया गया है, आप अभी भी टैब कुंजी का उपयोग करके तत्वों के बीच नेविगेट करके तत्व तक पहुंचने में सक्षम हैं। तो मैं यह सलाह देता हूं:

$("#mydiv")
  .css({"pointer-events" : "none" , "opacity" :  "0.4"})
  .attr("tabindex" , "-1");

2

यदि आप विकलांगों के शब्दार्थ को निम्नानुसार रखना चाहते हैं

<div disabled="disabled"> Your content here </div>

आप निम्नलिखित सीएसएस जोड़ सकते हैं

div[disabled=disabled] {
  pointer-events: none;
  opacity: 0.4;
}

यहाँ लाभ यह है कि आप उस div पर कक्षाओं के साथ काम नहीं कर रहे हैं जिसके साथ आप काम करना चाहते हैं


1

मैं Cletus 'फ़ंक्शन के बेहतर संस्करण का उपयोग करूंगा:

 $.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();

1

DIV की सामग्री को कैसे अक्षम करें

pointer-eventsअकेले सीएसएस संपत्ति बाल तत्वों को स्क्रॉल करने से अक्षम नहीं करती है, और यह IE10 और DIV तत्वों (केवल एसवीजी के लिए) के तहत समर्थित नहीं है। http://caniuse.com/#feat=pointer-events

सभी ब्राउज़रों पर एक DIV की सामग्री को अक्षम करने के लिए।

जावास्क्रिप्ट:

$("#myDiv")
  .addClass("disable")
  .click(function () {
    return false;
  });

सीएसएस:

.disable {
  opacity: 0.4;
}
// Disable scrolling on child elements
.disable div,
.disable textarea {
  overflow: hidden;
}

IE10 और इसके अलावा सभी ब्राउज़रों पर एक DIV की सामग्री को अक्षम करने के लिए।

जावास्क्रिप्ट:

$("#myDiv").addClass("disable");

सीएसएस:

.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;
}

1

नीचे मास्किंग डिवाइसेस सक्षम करने के लिए एक अधिक व्यापक समाधान है

  • कोई अलग सीएसएस नहीं
  • पूरे पृष्ठ या सिर्फ एक तत्व को कवर करें
  • मुखौटा का रंग और अस्पष्टता निर्दिष्ट करें
  • Z- इंडेक्स निर्दिष्ट करें ताकि आप मास्क पर पॉपअप दिखा सकें
  • मास्क पर एक घंटे का कर्सर दिखाओ
  • maksOff पर मास्किंग डिव को हटाना ताकि बाद में एक अलग दिखाया जा सके
  • जब तत्व आकार बदलता है तो स्ट्रेच मास्क
  • मुखौटा तत्व लौटाएं ताकि आप इसे स्टाइल कर सकें आदि

यह भी शामिल है 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 देखें


आपके समाधान पूरे पृष्ठ को अक्षम करने के लिए बहुत अच्छी तरह से है, लेकिन यह विशेष div भाग पर काम नहीं कर रहा है प्रिय, मैंने कोशिश की है।
3 नियम

1
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");
}

1

या बस सीएसएस और एक "अक्षम" वर्ग का उपयोग करें।
नोट: अक्षम विशेषता का उपयोग न करें।
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');
}

0

JQuery में एक और तरीका, आंतरिक ऊंचाई, आंतरिक चौड़ाई और युक्त DIV की स्थिति को प्राप्त करने के लिए होगा, और बस उसी आकार में एक और DIV, पारदर्शी उपरिशायी है। यह केवल इनपुट के बजाय उस कंटेनर के अंदर सभी तत्वों पर काम करेगा।

हालाँकि याद रखें, JS विकलांग के साथ, आप अभी भी DIVs इनपुट / सामग्री का उपयोग कर पाएंगे। उपरोक्त उत्तरों के साथ भी यही बात है।


क्या होगा यदि उपयोगकर्ता नियंत्रणों के माध्यम से टैब करता है? यह तब तक बिल्कुल भी मदद नहीं करता है जब तक कि आपके पास केवल उपयोगकर्ता नहीं हैं जो माउस का उपयोग नेविगेट करने के लिए करते हैं।
14:36 ​​पर शिव्वी

लेकिन यह इनपुट को अक्षम करने के साथ संयोजन में उपयोगी हो सकता है। यदि ओवरलेइंग डिव को पारभासी के रूप में स्टाइल किया जाता है, तो यह एक अच्छा दृश्य संकेतक है जो अनुभाग अक्षम है।
xr280xr


0

यह css केवल / noscript समाधान एक फ़ील्ड के ऊपर एक उपरिशायी (या एक 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 + के लिए काम करता है। निम्नलिखित बहुत सरल सीएसएस IE11 + पर काम करेगा

[disabled] { pointer-events: none; }

क्रोम


0

यदि आप बस क्लिक करने वाले लोगों को रोकने की कोशिश कर रहे हैं और सुरक्षा के बारे में भयावह रूप से चिंतित नहीं हैं - मैंने 99999 के z- इंडेक्स के साथ एक निरपेक्ष रखा div पाया है। आप किसी भी सामग्री को क्लिक या एक्सेस नहीं कर सकते हैं क्योंकि div को उसके ऊपर रखा गया है। थोड़ा सरल हो सकता है और एक सीएसएस केवल समाधान है जब तक आपको इसे हटाने की आवश्यकता नहीं होती है।


0

वहाँ विन्यास जावास्क्रिप्ट पुस्तकालयों कि एक HTML स्ट्रिंग या डोम तत्व में ले रहे हैं और अवांछित टैग और विशेषताएँ बाहर पट्टी। इन्हें html sanitizers के रूप में जाना जाता है । उदाहरण के लिए:

जैसे DOMPurify में

DOMPurify.sanitize('<div>abc<iframe//src=jAva&Tab;script:alert(3)>def</div>'); 
// becomes <div>abcdef</div>

-1

संपादित करें: नीचे मैंने .on()विधि का उपयोग किया है, इसके बजाय .bind()विधि का उपयोग करें

$(this).bind('click', false);
$(this).bind('contextmenu', false);

अपनी सेटिंग हटाने के लिए, आप .unbind()विधि का उपयोग कर सकते हैं । जबकि .off()विधि अपेक्षा के अनुरूप काम नहीं करती है।

 $(this).unbind('click', false);
 $(this).unbind('contextmenu', false);

सैकड़ों समाधानों पर शोध करने के बाद! सूचक-घटनाओं के बारे में सीखना, नीचे मैंने क्या किया है।

जैसा कि @Kokodoko ने अपने समाधान में उल्लेख किया है जो IE को छोड़कर सभी ब्राउज़रों के लिए उपयुक्त है। IE11pointer-events में काम करते हैं और निचले संस्करणों में नहीं। मैंने IE11 में भी देखा , पॉइंटर-ईवेंट बाल तत्वों पर काम नहीं करते हैं। और इसलिए अगर हमारे पास नीचे जैसा कुछ है

 <a href="www.preshmalinetpereira.wordpress.com"><i class="car icon"></i><span>My Blog</span></a>

जहां बच्चे के तत्व को फैलाते हैं , pointer-events: noneअभ्यस्त काम की स्थापना करते हैं

इस समस्या को दूर करने के लिए मैंने एक फ़ंक्शन लिखा, जो IE के लिए पॉइंटर-ईवेंट के रूप में कार्य कर सकता है और निचले संस्करणों में काम करेगा।

जेएस फाइल में

DisablePointerEvents(".DisablePointerEvents");


function DisablePointerEvents(classId) {
    $(classId).each(function () {
        $(this).on('click', false );
        $(this).on('contextmenu', false );
    });
}

CSS File में

.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>

इस pointer-eventsपरिदृश्य में pointer-eventsकाम नहीं करता है और जब बच्चे तत्वों की उपरोक्त स्थिति होती है।

उसी के लिए जेएस फिडल

https://jsfiddle.net/rpxxrjxh/


-1

उपमा समाधान

मेरे चयनकर्ता को देखो

$myForm.find('#fieldsetUserInfo input:disabled').prop("disabled", false);

fieldsetUserInfoडिव में वे सभी इनपुट होते हैं जिन्हें मैं अक्षम या सक्षम करना चाहता हूं

आशा है कि यह आपकी मदद करता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.