Firefox nur Fehler mit der jQuery - handleObj.handler.gelten keine Funktion
Arbeite ich an einem plugin erweitert, dass Dan Grossman ' s rangepicker. Hier ist mein repo. Bitte verzeihen Sie meine chaotisch-code, dies ist immer noch ein work in progress. Mein problem ist, dass Firefox nicht erkennt, klicken Sie auf die Eingänge. Dies ist die entsprechende Zeile:
this.container.find('.ranges')
.on('click',
'.daterangepicker_start_input, .daterangepicker_end_input',
$.proxy(this.focusInput, this));
Nun die Funktion focusInput
sich doens keine Rolle, wirklich, denn ich habe eine einfache console.log
an der Spitze, und es ist sehr offensichtlich, dass es nicht laufen (hinzufügen von breakpoints hat auch nicht geholfen).
Ich dachte, es könnte sein, denn ich bin mit deaktivierten Eingänge, aber eine änderung, die nicht helfen (und es sollte kein problem sein, da der event ist gefangen durch das Eltern-element).
Die Fehlermeldung bekomme ich aus der Firefox Konsole:
TypeError: handleObj.handler.apply is not a function jquery-1.11.0.js:4995
TypeError: handleObj.handler.apply is not a function jquery-1.11.0.js:4624
Was mir sagt, dass das Problem mit jQuery (die finde ich schwer zu glauben). Ich vermute ich habe etwas falsch gemacht, dass führt zu einem Fehler mit der jQuery, aber Chrom nicht beschweren, ich habe eine harte Zeit-Ablaufverfolgung, wo ich genau falsch gelaufen ist.
Ich würde gerne etwas Hilfe zu bekommen auf dieser. Vielen Dank im Voraus!
update
Habe ich aktualisiert, der code in github. Nun der Klick funktioniert nicht nur mit Elementen, die ausgeblendet wurden, auf den ersten (die uh... macht keinen Sinn), aber noch wichtiger ist - ich bin nicht immer alle Fehler bei allen. Also bin ich stecken. Ich habe keine Ahnung, was FF ' s problem. Sogar Internet Explorer-beklagt sich nicht - was zum Teufel??
- Nicht dieses $.proxy(dies.focusInput, diese) werden müssen, function(){ $.proxy(dies.focusInput, this) } ?
- Nein. Alle anderen Funktionen arbeiten einwandfrei, und die ganze Sache basiert auf Dan Grossman ' s rangepicker, das funktioniert in FF
- Verwandte: “e.handler.apply" ist nicht eine Funktion in jquery Tabelle sorter
- Ich hatte das gleiche problem und das häufiger Fehler ist: Sie haben eine Funktions-Referenz und NICHT einem Funktions-Aufruf!
- ich hatte ein ähnliches Problem mit firefox nur, in meinem Fall war es aus einem tampermonkey script geladen (durch einen Fehler auf der Seite war ich die Codierung lokal, etwas zu wild regex auf die
@match
), das nachladen, jQuery, undefining in der Prozess alle meine Funktionen, die verlängert wurden $. wahrscheinlich nicht das gleiche problem wie bei Ihnen überhaupt (auf der Suche, wie Sie es festgelegt - obwohl es ist so verrückt, dass Sie es fest wie diesem), aber wenn ich suchte für mein Problem diese Frage kam oben vielleicht also mein com-hilft jemand einem Tag !
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind alle Bereiche verfügbar zu der Zeit, wenn Sie übertragen sind? Der Punkt der delegation ist target ein element, das Sie wissen, wird immer existieren und sichtbar sein, dann delegieren von dort aus auf die Elemente, die können kommen und gehen während der gesamten Lebensdauer des Skripts.
Versuchen Sie dies:
UPDATE:
Kann ich reproduzieren Sie dieses Problem, wenn ich einen syntax-Fehler in etwa so:
Wenn ich verschieben ), dann funktioniert es wie vorgesehen.
Haben Sie etwas ähnliches passiert? Der code wie du es eingefügt werden sollte, in Ordnung. Ich machte ein jsFiddle, um zu versuchen und zu isolieren, das Problem.
.on('click', 'input[type="text"]', ...)
. Ich bin mir noch nicht sicher, was das problem war. Vielleicht hast du Recht, und es war die syntax. Trotzdem ist es seltsam, dass nur Firefox nicht funktioniert hat (die schlug mein code war in Ordnung, weil ein syntax-Fehler sollten in der Regel zu Problemen führen, für alle Browser). Trotzdem, vielen Dank für die Zeit Sie genommen hast +1Ich habe dieses problem, wenn ich versehentlich die falsche Funktion name
doStuff
unten:Nachdem ich es geändert auf den richtigen Namen, war das problem gelöst.
Ich habe den Fehler für die falsche syntax. Unten ist der code, den ich eingegeben, während die Umwandlung der Funktion von
$(document).click(function(){ });
zuon('click')
Funktion,Falsche syntax, die ich eingegeben,
statt