2010-12-09 1 views
2

Я получил следующий HTMLJQuery: жить («фокус») и жить («размытость»), вложенное в пространство имен не работает в 1.3.2

<input class="hasToolTip" type="text" value="meh"/> 
<span class="tooltip" style="display: none;">tooltip here</span> 

я хотел бы подсказку исчезать в том, когда вход получает фокус, поэтому я создал пространство имен (он содержит все мои JavaScript для входов/форм следующим образом) с правильным методом

var inputCommon = (function() { 
    return { 
     SetupToolTips: function() { 
      $(".hasToolTip").live('focus', function() { 
       $(this).next(".tooltip").fadeIn(); 
      }); 
      $(".hasToolTip").live('blur', function() { 
       $(this).next(".tooltip").fadeOut(); 
      }); 
     } 
    }; 

})(); 

тогда я называю его, когда документ загружен

$(function() { 
    inputCommon.SetupToolTips(); 
}); 

И ... it doesn't work with jQuery 1.3.2. It works with 1.4.2 хотя, но я действительно готов нажать изменение библиотеки на данный момент.

Любая идея, как я могу получить свой торт (пространство имен!) И съесть его тоже (жить работает!)?


Не один, чтобы сопротивляться дураком себя, здесь явный отрывок я перескочила, straight from the horse's mouth:

В JQuery 1.3.x только следующие события JavaScript (в дополнение к пользовательским событиям) может быть , связанный с .live(): click, dblclick, keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover и mouseup.

(...)

По JQuery 1.4.1 даже фокус и размытия работы с живой (отображение к более подходящим, кипящий, события focusin и focusout).

ответ

4

Вы не можете на самом деле, не без некоторых серьезных изменений, которые, вероятно, ввести больше проблем, чем обновление до 1.4+ бы. Система событий получила огромный пересмотр в 1.4.2, и с тех пор ее дальнейшее совершенствование ... ваше время было бы намного лучше потрачено на обновление до jQuery 1.4+, чем попытка поддержки этой поддержки в 1.3.x.

+0

Какие-либо конкретные вещи, за которыми я должен следить? Изменения в Changelogs (http://docs.jquery.com/Downloading_jQuery) не очень информативны относительно возможных нарушений (если они есть) – samy 2010-12-09 14:23:21

+0

@samy - хороший источник примечания к выпуску здесь: http://jquery14.com/day-01/jquery-14 – 2010-12-09 14:27:32

1

Вы всегда можете сделать это таким образом ...

var inputCommon = (function() { 
    return { 
     SetupToolTips: function() { 
      $(".hasToolTip").focus(function() { 
       $(this).next(".tooltip").fadeIn(); 
      }); 
      $(".hasToolTip").blur(function() { 
       $(this).next(".tooltip").fadeOut(); 
      }); 
     } 
    }; 

})(); 

, а не использовать в прямом эфире.