Wir haben vor kurzem unsere jQuery 1.9.0 aktualisiert haben, aber es brach unser beschwipst Plugin. Seine live
Funktionalität verursacht jetzt einen Fehler.beschwipst Live funktioniert nicht mit jQuery 1.9.0
$('.tooltip, abbr').tipsy({
live: true
});
TypeError: this[binder] is not a function
Gibt es irgendwelche Korrekturen oder Patches für diese? Googeln hat zu nichts Sinnvollem geführt.
UPDATE:
Danke für die Antworten. Ich beschloss, das Problem selbst zu beheben, da ich keine Patches finden konnte.
Bei näherer Betrachtung schien der Fehler wirklich einfach zu verfolgen. Das beschwipst Plugin kann leicht die on
Funktionalität anstelle der veralteten live
Funktionalität nutzen gepatcht werden. Im beschwipst Plugin, ersetzte ich den folgenden Code:
if (options.trigger != 'manual') {
var binder = options.live ? 'live' : 'bind',
eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus',
eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';
this[binder](eventIn, enter)[binder](eventOut, leave);
}
mit:
if (options.trigger != 'manual') {
var eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus',
eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';
if (options.live)
$(document).on(eventIn, this.selector, enter).on(eventOut, this.selector, leave);
else
this.bind(eventIn, enter).bind(eventOut, leave);
}
Arbeiten wie ein Charme. :)
Suche hier mit 'jQuery-Plugin conflict' – Amir
großen Beitrag! Woher bekommst du 'this.selector'? –
@RichPeck 'this.selector' ist eine Eigenschaft des zugrunde liegenden jQuery-Objekts. – crush