2017-07-23 61 views
7
  • Kendo ui konusunda yeniyim.
  • Kimliğimde prototip geliştirdim. silme onay penceresi iyi çalışıyor.
  • ancak kod tabanımla bütünleştiğimde hata alıyorum Pai_to_delete.remove();
  • Nasıl yapılacağını bana söyleyebilir misiniz? Aşağıdaki kodumu sağlayan
  • .

güncellenenzone.js: 140 Türlenmemiş TypeError: Özellik kaldırılamıyor 'kaldır' özelliği okunamıyor

Ben doğru açıklama yapmayan olmak dağıtabilir ... benim ui zaman ben bunu ızgarada ... büyük bir pop-up bir ızgara ile açılan bir bağlantıyı tıkladığınızda olduğunu nasıl göründüğü Bir sütunu tıklatın silme seçeneği ile küçük bir açılır pencere açılır ... silme seçeneğini tıkladığımda bir onay penceresi açılır ... - yerel js onaylama yöntemini kullandığımda, iyi çalışıyor ... Bu zamanı doğru yönlendirdiğini düşünüyorum. .. - ama kendo ui pop-up kullandığımda iyi çalışmıyor ... - kendimi kullandığım zaman pai_to_delete, kendo ui kullanırken ... Ebeveyn div div düşünüyorum.

Ben bu yüzden keman içinde yapıştırarak ediyorum soruma yapıştırmak mümkün değilim bütün kod, ilgili kod ben

https://jsfiddle.net/44tLx225/

altına yapıştırarak am

http://jsfiddle.net/amu6tw2a/

  • prototip keman
    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 yerli onayla yöntemiyle

    eserler

    $ ("kaplan "). bağlayan (" click", function (e) {

     $(".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

Sen Fiddle da bileşen için kod yapıştırılan ama herhangi bir HTML yok:

Tüm ihtiyacınız kendoWindow yaratılmadan önce başka değişken sağa pai_to_delete atamak ve $(".pai-del-menu").click olay içine kullanmaktır. Çalışacak bir şeyimiz olması için lütfen bir çalışma demosu hazırlayın. – Shai

+1

@shai Kod tabanım çok büyük olduğu için keman getirmek mümkün değil ... bu yüzden bütün dosyayı yayınlama nedenim –

+1

Hiçbir şey yok, sadece bileşeni yüklemek için temel altyapı. Yoksa diğer birçok bileşene güveniyor mu? – Shai

cevap

1

yerli onayla yöntemi ve özel arasındaki temel fark modal pencere - yerel onaylama yöntemi senkronize edilir.

Yöntem senkronize olduğunda ve yerel onaylama iletişim kutusunda Tamam/İptal'i tıklattığınızda, $(".pai-del-menu").blur gerçekleşir, ancak yalnızca $(".pai-del-menu").click bittikten sonra yürütülür, bu nedenle her şey düzgün çalışır. yöntemi senkronize değildir ve Tamam tıkladığında

/$(".pai-del-menu").blur da oluşur ve pai_to_delete zaten null olan olay $(".pai-del-menu").click içinde çok, pai_to_delete başvuru kaldırma hemen çalıştırır, kalıcı pencere İptal.

$(".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

cevabınız için teşekkürler ... çok kafa karıştırıcı ... kodumu güncelleştirebilir miyim .... çok çalışıyorum ... çok kafa karıştırıcı –

+0

Kod örneği ile bir cevabı güncelledim –

+0

@Aleksander: bu yüzden bu satırı eklediniz ?? var paiToDelete = pai_to_delete; –