2014-02-21 4 views
0

Я использую всплывающую подсказку jQueryUI для проверки.jQueryUI всплывающая подсказка для проверки

Я просто хочу, чтобы это сделать: когда Textbox focusout или sumbit нажмите кнопку мыши, появится текстовая подсказка. Я пишу этот сценарий, но этот сценарий есть эта проблема:

  1. по щелчку или MouseOver или MouseOut ... в Textbox подсказка не appear.just на focusout или кнопку заполните

  2. подсказке не исчезают просто исчезают, когда пользователь нажимает на него.

Fiddler Link

.errorClass { border: 1px solid red; } 
<div id="#tooltip"> 
<lable ><input id="FName" name="FName" type="text" title="my FName" /> 
<br/><br/> 
    <input id="Post" maxlength="200" name="Post" title="my Post" type="text" value=""><br/><br/> 
     <input type="submit" value="sumbit" class="insertBtn" onclick="return ISValidInfo()" /> 
     <div> 
$(function() { 
     $("#tooltip").tooltip().off("mouseover mouseout ");  
     $("#FName").focusout(function() { 
      ISValidFname(); 
     }); 
     $("#Post").focusout(function() { 
      ISValidPost(); 
     }); 
     function ISValidFname() { 
      if (!$.trim($('#FName').val())) { 
       $("#FName").addClass("errorClass") 
       $("#FName").tooltip({ 
        position: { 
         at: "right top", 
         my: "left bottom", 
        } 
       }); 
       $("#FName").tooltip("open"); 
      } 
      else { 
       $("#FName").removeClass("errorClass") 
      } 
     } 
     function ISValidPost() { 
      if (!$.trim($('#Post').val())) { 
       $("#Post").addClass("errorClass") 
       $("#Post").tooltip({ 
        position: { 
         at: "right top", 
         my: "left bottom", 
        } 
       }); 
       $("#Post").tooltip("open"); 
      } 
      else { 
       $("#Post").removeClass("errorClass") 
      } 
     } 

    function ISValidInfo() { 
     ISValidFname(); 
     ISValidPost(); 
    } 
}); 
+0

плз см помощи ...... –

+0

В скрипке, подсказка действительно появляется при наведении курсора мыши ... – Bhavik

+0

Я хочу не этот happen.how? –

ответ

1

Вот FIDDLE, которые могли бы помочь ,

Я переместил определенные функции из основной функции и изменил несколько строк.

JS

$(function() { 
     $("#tooltip").tooltip();  
     $("#FName").focusout(function() { 
             ISValidFname(); 
             }); 
     $("#Post").focusout(function() { 
             ISValidPost(); 
             }); 
}); 

function ISValidFname() 
{ 
if (!$.trim($('#FName').val())) 
    { 
    $("#FName").addClass("errorClass") 
    $("#FName").tooltip({ 
          position: { 
            my: "left top", 
            at: "right top" 
            } 
          }); 
    $("#FName").tooltip("open"); 
    } else { 
      $("#FName").removeClass("errorClass") 
      } 
} 

function ISValidPost() 
{ 
if (!$.trim($('#Post').val())) { 
      $("#Post").addClass("errorClass") 
      $("#Post").tooltip({ 
           position: { 
              my: "left top", 
              at: "right top" 
              } 
           }); 
      $("#Post").tooltip("open"); 
      } else { 
        $("#Post").removeClass("errorClass") 
        } 
} 

function ISValidInfo() 
{ 
    ISValidFname(); 
    ISValidPost(); 
} 
+0

после всплывающей подсказки, появляющейся при наведении на него. Disapear.how я могу исправить это –

+0

Я немного оглянулся, и я не могу найти способ держать его открытым до тех пор, пока он «действителен». Вероятно, вам нужно написать код без всплывающей подсказки. – TimSPQR

+0

Вот скрипка с чистым css с аналогичной функциональностью - http://jsfiddle.net/timspqr/WmRuN/275/ – TimSPQR

1

Если вы хотите, чтобы ваш инструмент кончик появляться только на фокус-ин и отключить на фокус вне. Попробуйте это:

$("#tooltip").tooltip({ 
    disabled: true 
}).on("focusin", function() { 
    $(this) 
     .tooltip("enable") 
     .tooltip("open"); 
}).on("focusout", function() { 
    $(this) 
     .tooltip("close") 
     .tooltip("disable"); 
}); 

The fiddle

Более короткий путь:

$("#tooltip").tooltip().off("mouseover mouseout "); 

Что я вижу в вашем коде, но не работает должным образом ..

+0

этот ответ полностью отличается от того, что я хочу –

Смежные вопросы