悬停和if语句仅触发ONCE

时间:2012-02-12 20:21:46

标签: javascript jquery

鼠标悬停应绑定为每次鼠标进入时检查“if”语句的事件 区域.input-medium,但“if”仅检查一次。那里没有班级和“如果” 变得虚假 - 悬停仍然有效。

我需要每次检查是否存在类。

$('.input-medium').on('mouseover' , function() {
    if ($(this).attr('id') === 'error-highlight') {
           $(this).hover(
                  function() {
                      $('<p class="reg-tooltip">test test</p>').appendTo('body');
                  },

                  function() {
                      $('p').remove();
                  });
       }
});

1 个答案:

答案 0 :(得分:3)

解决方案:将if条件添加到hover本身:

$('.input-medium').hover(
     function() {
         if (this.id === 'error-highlight') {
             $('<p class="reg-tooltip">test test</p>').appendTo('body');
         }
     },
     function() {
         $('p.reg-tooltip').remove(); // <-- Always remove temporary element
     }
);