2016-06-23 11 views
-1

Ich kann nicht umgehen, um die Registerkarte beim Klicken auf das "x" Element unten zu schließen. Die Registerkarten sind die Attribute des angeklickten Modells auf der linken Seite. Also habe ich versucht, es zu schließen, aber ich kann damit nicht umgehen.Wie schließe ich die Registerkarte auf dem x klicken?

Hier ist, wie es aussieht, muss ich es auf dem x-Element schließen:

hier meiner Ansicht nach, in der Render ich, dass Registerkarte Rendering, den Namen und den Text nach innen es. Und ich möchte die Registerkarte schließen, wenn ich auf das X-Element rechts neben dem Tab-Titel klicke. Ich weiß nicht, was ich brauche, um die Funktion "Schließen" zu schreiben.

var DocView = Backbone.View.extend({ 
    el: $("#doc"), 
    events: { 
    "click #remove": "close", 
    }, 
    template: _.template($('#doc-template').html()), 
    initialize: function() { 
    this.render(); 
    }, 
    render: function() { 
    this.$el.html(this.template({ 
     attributes1: this.attributes 
    })); 
    console.log(this.attributes); 
    return this; 
    }, 
    close: function(e) { 

    }, 
}); 

wenn jemand mir helfen kann, bitte beantworten.

+0

Wir wissen nicht, ob die Seite im Menü und Sachen Teil der Ansicht im gemeinsamen Code ist, oder welche Plugins Sie die Registerkarten erstellen verwenden, wie/was schließen. Bitte teilen Sie den Code, der erforderlich ist, um das Problem zu reproduzieren, z. B. HTML, CSS usw. und den Rest des Codes. Siehe [MCVE]. –

+0

Die Antwort unten ist eine wilde Vermutung, die die Element- und View-Instanz im Speicher belässt, was in Zukunft zu schmerzhaften Speicherlecks und damit verbundenen Fehlern führen kann. –

Antwort

0

sollte dies tun, den Trick

var DocView = Backbone.View.extend({ 

    el : $("#doc"), 

    events: 
    { 
     "click #remove": "close", 
    }, 

    template: _.template($('#doc-template').html()), 

    initialize: function() 
    { 
     this.render(); 
    }, 

    render: function() 
    { 
     this.$el.html(this.template({attributes1 : this.attributes })); 
     console.log(this.attributes); 
     return this;   
    }, 

    close: function(e) 
    { 
     this.undelegateEvents(); 
     this.$el.empty(); 
     this.stopListening(); 
     return this; 
    }, 
}); 
+0

Wow, danke! – Reollyn

Verwandte Themen