हमने हाल ही में हमारे jQuery को 1.9.0 में अपग्रेड किया है, लेकिन यह हमारी टिप्स प्लगइन तोड़ दिया। इसकी live
कार्यक्षमता अब एक त्रुटि का कारण बनती है।टिप्स लाइव jQuery के साथ काम नहीं करता है 1.9.0
$('.tooltip, abbr').tipsy({
live: true
});
TypeError: this[binder] is not a function
क्या इसके लिए कोई फिक्स या पैच हैं? गुगलिंग ने कुछ भी उपयोगी नहीं किया।
अद्यतन:
जवाब के लिए धन्यवाद। मैंने खुद को इस मुद्दे को ठीक करने का प्रयास करने का फैसला किया, क्योंकि मुझे कोई पैच नहीं मिला।
निरीक्षण पर त्रुटि का पता लगाना वास्तव में आसान लग रहा था। टिप्स प्लगइन को कार्यक्षमता के बजाय on
कार्यक्षमता का उपयोग करने के लिए आसानी से पैच किया जा सकता है।
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);
}
साथ:
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);
}
वर्क्स एक आकर्षण की तरह नशे प्लगइन में, मैं निम्नलिखित कोड बदल दिया। :)
'jquery प्लगइन संघर्ष' के साथ यहां खोजें – Amir
ग्रेट पोस्ट! आपको 'यह। चयनकर्ता' कहां से मिलता है? –
@RichPeck 'this.selector' अंतर्निहित jQuery ऑब्जेक्ट की एक संपत्ति है। – crush