backbone.js click und blur-events

Ich habe einige Schwierigkeiten mit Unschärfe und klicken Sie auf Ereignisse im Rückgrat. Ich habe eine view (code unten), dass schafft ein wenig suchen Eintrag div mit der a-Taste. Ich pop öffnen Sie das div-Element und platzieren des Fokus auf das Eingabefeld. Klickt jemand aus (blur) ich informieren Sie eine übergeordnete Ansicht zu schließen diese ein. Wenn Sie klicken Sie auf die Schaltfläche ich werde starten Sie eine Suche.

Die Unschärfe-Verhalten funktioniert einwandfrei, jedoch wenn ich auf den Knopf bekomme ich auch ein blur-Ereignis und nicht das click-Ereignis. Ich habe dieses strukturierte rechts?

BTW, einige andere stellen haben vorgeschlagen, Dinge wie das hinzufügen von Timern für die div im Fall seiner geschlossen wird, bevor das click-Ereignis ausgelöst. Ich kann kommentieren, das vollständig schließt und nur noch die blur-event. Diese Feuer nur eine zu einer Zeit auf eine Art von first-com-first-served?

PB_SearchEntryView = Backbone.View.extend({
    template: _.template("<div id='searchEntry' class='searchEntry'><input id='part'></input><button id='findit'>Search</button></div>"),
    events: {
        "click button": "find",
        "blur #part": "close"
    },
    initialize: function(args) {
        this.dad = args.dad;
    },
    render: function(){
        $(this.el).html(this.template());
        return this;
    },
    close: function(event){ this.dad.close(); },
    find: function() {
        alert("Find!");
    }
});
  • die Ereignisse, die Sie binden, in die events Liste erfolgt durch jquery und backbone liefert die callback-Methode und Drähte bis der Rückruf. empfehlen, diese Arbeit nur mit jquery zuerst, und dann Sie sollten in der Lage sein, um es arbeiten mit Rückgrat, einfach gut
  • Ja, das war der trick. Danke! Basierend auf dieser info, die ich fand diesen Beitrag zur Verfügung gestellt, dass der Letzte Hinweis, wie diese Arbeit zu machen: forum.jquery.com/topic/click-blur
  • Können Sie nach, was der Letzte Hinweis war, und wie es Ihnen geholfen, Ihr problem lösen?
InformationsquelleAutor Greg | 2011-09-11
Schreibe einen Kommentar