2017-07-23 19 views
7
  • मैं केंडो ui के लिए नया हूं।
  • मैंने अपने पहेली में प्रोटोटाइप विकसित किया। पुष्टिकरण विंडो हटाएं ठीक काम कर रहा है।
  • लेकिन जब मैं अपने कोडबेस में एकीकृत करता हूं तो मुझे त्रुटि मिल रही है लाइन pai_to_delete.remove() पर संपत्ति 'निकालें' नहीं पढ़ सकता;
  • क्या आप लोग मुझे बता सकते हैं कि इसे कैसे ठीक किया जाए।
  • नीचे अपना कोड प्रदान करते हैं।

अद्यतनzone.js: 140 Uncaught TypeError: संपत्ति 'हटा' नहीं पढ़ सकता

होना मई मैं तुम्हें ठीक से समझा नहीं था ... कैसे मेरे ui लग रहा है जब मैं एक लिंक एक बड़ा पॉपअप एक ग्रिड के साथ खुलता है ... क्लिक करें कि ग्रिड में जब मैं है एक कॉलम पर क्लिक करें डिलीट विकल्प के साथ एक छोटा पॉपअप खुलता है ... जब मैं डिलीट विकल्प पर क्लिक करता हूं तो एक पुष्टिकरण विंडो खुलती है ... - जब मैं देशी जेएस पुष्टिकरण विधि का उपयोग करता हूं तो यह ठीक काम करता है .. मुझे लगता है कि उस समय सही मायने में इसका जिक्र है। .. - लेकिन जब मैं केंडो यूई पॉपअप का उपयोग करता हूं तो यह ठीक काम नहीं करता है ... - क्या मेरा pai_to_delete ठीक से संदर्भ नहीं दे रहा है जब मैं केंडो यूई का उपयोग करता हूं ... क्योंकि यह उस div n का जिक्र करता है माता पिता मैं ऐसा सोचता हूं।

प्रोटोटाइप बेला

http://jsfiddle.net/amu6tw2a/

  • पूरे कोड मैं अपने सवाल में पेस्ट कर पा रहा हूँ तो मैं बेला में चिपकाने कर रहा हूँ, प्रासंगिक कोड मैं नीचे

https://jsfiddle.net/44tLx225/

चिपकाने हूँ
zone.js: 140 Uncaught TypeError: Cannot read property 'remove' 
of null 
at HTMLButtonElement.eval(swimming - jumpings.ts: 990) 
at HTMLDocument.dispatch(jquery - 2.2.3. js: 4737) 
at HTMLDocument.elemData.handle(jquery - 2.2.3. js: 4549) 
at ZoneDelegate.invokeTask(zone.js: 236) 
at Zone.runTask(zone.js: 136) 
at HTMLDocument.ZoneTask.invoke(zone.js: 304) 


$(".tiger").bind("click", function(e) { 

    let that = this; 





    $(".pai-del-menu").blur(function() { 
    $(this).hide(); 
    pai_to_delete = null; 
    }); 

    $(".pai-del-menu").click(function() { 
    $(this).hide(); 
    //let popup = $("#deletePopup").data("kendoWindow").center().open(); 
    if (pai_to_delete != null) { 
     //$('.addELFDocumentForm').show(); 
     //alert("Are you sure you want to delete the selected jumping"); 

     var kendoWindow = $("<div />").kendoWindow({ 
     title: "Confirm", 
     resizable: false, 
     modal: true, 
     height: 100, 
     width: 400 
     }); 

     kendoWindow.data("kendoWindow") 
     .content($("#delete-confirmation").html()) 
     .center().open(); 

     $(jumping).on("click", "#playerDocumentOk", function() { 
     pai_to_delete.remove(); 
     kendoWindow.data("kendoWindow").close(); 
     }) 


     $(jumping).on("click", "#playerDocumentCancel", function() { 
     kendoWindow.data("kendoWindow").close(); 
     }) 

     //pai_to_delete.remove(); 
    } 

    }); 


    var record_x = e.pageX; 
    var record_y = e.pageY - $(".navHeaderBox").height() - $(".breadCrumbBox").height() - 20; 

    $(".pai-del-menu").css({ 
    left: record_x, 
    top: record_y 
    }); 

    $(".pai-del-menu").fadeIn(200); 

    $(".pai-del-menu").show(); 
    $(".pai-del-menu").attr('tabindex', -1).focus(); 
    pai_to_delete = $(this).parent().parent(); 

}); 

js देशी पुष्टि विधि के साथ काम करता है

$ ("। बाघ")। बाँध ("क्लिक", समारोह (ई) {

 $(".pai-del-menu").blur(function() { 
     $(this).hide(); 
     pai_to_delete = null; 
     }); 

     $(".pai-del-menu").click(function() { 
     $(this).hide(); 
     if (pai_to_delete !== null) { 
      //alert("Are you sure you want to delete the selected document"); 
      //confirm("Are you sure you want to delete the selected document"); 

      var r = confirm("Are you sure you want to delete the selected document"); 
      if (r == true) { 
       //txt = "You pressed OK!"; 
       pai_to_delete.remove(); 
      } else { 
       //txt = "You pressed Cancel!"; 
      } 
      //pai_to_delete.remove(); 
     } 

     }); 


     var pai_x = e.pageX; 
     var pai_y = e.pageY - $(".navHeaderBox").height() - $(".breadCrumbBox").height() - 20; 

     $(".pai-del-menu").css({ 
     left: pai_x, 
     top: pai_y 
     }); 

     $(".pai-del-menu").fadeIn(200); 

     $(".pai-del-menu").show(); 
     $(".pai-del-menu").attr('tabindex', -1).focus(); 
     pai_to_delete = $(this).parent().parent(); 

    }); 
+1

आप फिडल में अपने घटक के लिए कोड चिपकाया लेकिन आप किसी भी HTML की जरूरत नहीं है:

आपको बस kendoWindow सृजन से पहले एक और चर सही करने के लिए pai_to_delete आवंटित और $(".pai-del-menu").click घटना के अंदर इसका इस्तेमाल करने की है। कृपया एक कामकाजी डेमो तैयार करें ताकि हमारे पास काम करने के लिए कुछ हो। – Shai

+1

@shai मेरा कोड बेस बहुत बड़ा है, यह बेवकूफ लाने के लिए संभव नहीं है ... यही वजह है कि मैंने पूरी फाइल को फिल्ड –

+1

में पोस्ट किया है, सबकुछ नहीं, केवल घटक को लोड करने के लिए बुनियादी आधारभूत संरचना। या यह कई अन्य घटकों पर भरोसा करता है? – Shai

उत्तर

1

देशी पुष्टि विधि और कस्टम के बीच मुख्य अंतर मोडल विंडो - मूल पुष्टि विधि तुल्यकालिक है।

जब विधि तुल्यकालिक होती है और आप देशी पुष्टि संवाद में ठीक/रद्द करते हैं, तो $(".pai-del-menu").blur भी होता है, लेकिन केवल $(".pai-del-menu").click समाप्त होने के बाद निष्पादित होता है, इसलिए सब कुछ ठीक काम करता है।

जब विधि अतुल्यकालिक है और आप ठीक क्लिक करता है/मोडल विंडो पर रद्द, $(".pai-del-menu").blur भी होता है और तुरंत कार्यान्वित करता है, pai_to_delete संदर्भ को हटाने, तो अंदर $(".pai-del-menu").click घटना pai_to_delete पहले से ही null है।

$(".pai-del-menu").blur(function() { 
    $(this).hide(); 
    pai_to_delete = null; 
}); 

$(".pai-del-menu").click(function() { 
    $(this).hide(); 
    if (pai_to_delete != null) { 
    var paiToDelete = pai_to_delete; // <---- 
    var kendoWindow = $("<div />").kendoWindow({ 
     title: "Confirm", 
     resizable: false, 
     modal: true, 
     height: 100, 
     width: 400 
    }); 

    kendoWindow.data("kendoWindow") 
     .content($("#delete-confirmation").html()) 
     .center().open(); 

    $(jumping).on("click", "#playerDocumentOk", function() { 
     paiToDelete.remove(); // <---- 
     kendoWindow.data("kendoWindow").close(); 
    }); 

    $(jumping).on("click", "#playerDocumentCancel", function() { 
     kendoWindow.data("kendoWindow").close(); 
    }); 
    } 
}); 
+0

आपके उत्तर के लिए धन्यवाद ... बहुत भ्रमित ... क्या आप मेरे कोड में अपडेट कर सकते हैं .... मैंने सभी को आजमाया ... बहुत भ्रमित –

+0

मैंने कोड उदाहरण –

+0

@Aleksander के साथ एक उत्तर अपडेट किया है: तो आपने यह लाइन जोड़ा ?? var paiToDelete = pai_to_delete; –

संबंधित मुद्दे