Продовження до питання -заміна hover () у jquery1.9?
якщо .hover () все-таки добре працює з 1.9, я бачу помилку нижче в консолі, щоб замінити наведення курсору на mouseenter, mouseleave.
Скріншот коду та помилки нижче
this.handle=this.handles.eq(0);
this.handles.add (this.range) .filter ("a"). click (функція (c) {c.preventDefault ()}). hover (function () {a.disabled || d (this) .addClass ("ui-state-hover")}
Відповіді:
0 для відповіді № 1.hover () все ще підтримується, це видалена псевдоподія.
Наприклад
.bind( "hover", function() {})
слід замінити на
.bind( "mouseenter mouseleave", function() {})
ref: http://jquery.com/upgrade-guide/1.9/#quot-hover-quot-pseudo-event
0 для відповіді № 2
На це питання трохи важко відповіститому що ви вже знаєте, що застаріло, а що ні, у вашому питанні. Але те, що ви насправді хочете знати, це чому ваш код видає попередження, коли він - у коді - виглядає все гаразд.
Тому ми повинні з'ясувати, що відбувається у вашому коді. Наприклад, на що посилається цей фрагмент коду? Що означає "onHover" у вашому коді?
this.element.hover(this.options.onHover);
Для довідки: http://api.jquery.com/on/#additional-notes "Застарілий у jQuery 1.8, видалений у 1.9: Назва "навести курсор", що використовується як скорочення для рядка "mouseenter mouseleave". Він приєднує єдиний обробник подій для цих двох подій, і обробник повинен вивчити event.type, щоб визначити, чи є подія mouseenter або mouseleave. Не плутайте назву псевдо-події "наведення" з методом .hover (), який приймає одну або дві функції."