JQuery Title Attribute Tooltip - Удалить подсказку браузера - PullRequest
2 голосов
/ 19 января 2012

У меня есть следующий код JQuery для всплывающей подсказки, которая использует строку атрибута title.Моя проблема в том, что всплывающая подсказка браузера также появляется, и я не могу понять, как обойти это.

function Tooltip() {
   Form.append('<div class="Tooltip"></div>');
   $('input, textarea, select, p, label').mousemove(function(e) {
      var HoverText = $(this).attr('title');
      var Tooltip = $('.Tooltip');
      if(HoverText){
         Tooltip.html(HoverText).fadeIn(100);
         Tooltip.css('left', e.clientX + 15).css('top', e.clientY + 15);
      }
   }).mouseout(function() {
       var Tooltip = $('.Tooltip');
       Tooltip.fadeOut(100);
   });
}

Спасибо!

ОБНОВЛЕНИЕ:

Теперь атрибут title удален, значение сохраняется в $ .data.К сожалению, функция mousemove не работает таким образом ...

function Tooltip() {
   Form.append('<div class="Tooltip"></div>');
   $('input, textarea, select, p, label').mousemove(function(e) {
      $(this).data('title', $(this).attr('title')).removeAttr('title');
      var HoverText = $(this).data('title');
      var Tooltip = $('.Tooltip');
      if(HoverText){
         Tooltip.html(HoverText).fadeIn(100);
         Tooltip.css('left', e.clientX + 15).css('top', e.clientY + 15);
      }
   }).mouseout(function() {
       var Tooltip = $('.Tooltip');
       Tooltip.fadeOut(100);
       $(this).attr('title', $(this).data('title'));
   });
}

1 Ответ

2 голосов
/ 19 января 2012
var title = $(this).data('title');
var titleAttr = $(this).attr('title');
if( titleAttr && !title){
    title = $(this).data('title', $(this).attr('title')).removeAttr('title');
}
...