2012-02-16 67 views
-5

請幫我HTML輸入(JavaScript)的

我有一個腳本,在第一頁負荷工作,當我使用這個腳本的功能再次無法正常工作,直到我刷新頁面,意味着我要這個腳本總是工作,不僅當我將刷新頁面,這裏是腳本:


$(function(){ 
    var fullEmail = $('#email').val(); 
    console.log(fullEmail.length); 
    if(fullEmail.length>15) 
    { 
     textDot = fullEmail.substr(0, 14)+'...'; 
     $('#email').val(textDot); 
    } 

    var oldText = $('#email').val(); 
    $('#email').bind({ 
    mouseover : function() { 
     $('#email').val(fullEmail); 
    }, 
    mouseout: function() { 
     $('#email').val(oldText); 
    } 
    });  
}); 

在此先感謝..

+1

需要一些說明。發生什麼事情時你需要調用這個函數嗎?這個腳本的上下文是什麼? – pinkeerach 2012-02-16 21:38:12

+2

你是什麼意思「總是工作?」 – 2012-02-16 21:39:33

+0

這是一個HTML輸入的腳本,我們在我們的網站有一個HTML輸入(用於電子郵件),我們輸入寬度的空間有限,我們創建了這個腳本來工作,如果電子郵件很長,那麼15個字母,然後它會在15個字母后顯示「...」,當我們點擊輸入時,它顯示完整的電子郵件地址複製/粘貼。 – sunny 2012-02-16 21:42:39

回答

0

我創建了一個JSFiddle to demonstrate this。當你輸入電子郵件然後離開輸入框時,它會縮短。當您重新輸入輸入框時,它會擴展回全長...

$('#email').bind('change', function() { 
    $self = $(this); 
    var fullEmail = $self.val(); 
    var shortEmail = fullEmail; 
    if(fullEmail.length > 15) { 
     shortEmail = fullEmail.substr(0, 14)+'...'; 
     $self.val(shortEmail); 
    } 

    $self.bind({ 
     focus: function() { 
      $self.val(fullEmail); 
     }, 
     blur: function() { 
      $self.val(shortEmail); 
     } 
    }); 
}); 
+0

我的客戶說:如果電子郵件太長以至於不適合,在15個字母后顯示「...」(3個點),點擊後文本變成文本框,用戶可以複製/粘貼完整的電子郵件地址。 – sunny 2012-02-16 21:53:43

+0

你可以在這裏看到的名片。 http://hyindia.com/yoyavo/yavo_details.html – sunny 2012-02-16 21:54:44

+0

此腳本不會工作,直到我刷新頁面..! – sunny 2012-02-16 21:55:18

0
var oldText; 
var fullEmail; 
function smt(){ 
    fullEmail = $('#email').val(); 
     console.log(fullEmail.length); 
     if(fullEmail.length>15) 
     { 
      textDot = fullEmail.substr(0, 14)+'...'; 
      $('#email').val(textDot); 
     } 

     oldText = $('#email').val(); 
}  

$(function(){ 

    $('#email').bind({ 
    mouseover : function() { 
     smt(); 
     $('#email').val(fullEmail); 
    }, 
    mouseout: function() { 
     smt(); 
     $('#email').val(oldText); 
    } 
    });  
});