2011-04-21 108 views
0

下面是一個樣表:防止標籤文本高亮顯示/禁用標籤文本選擇

<form action="#" method="post"> 
Name:<br /> 
<input type="text" name="name" value="your name" /><br /> 
E-mail:<br /> 
<input type="text" name="mail" value="your email" /><br /> 
<input type="submit" value="Send"> 
</form> 

當標籤中的文字輸入,價值被突出顯示。它如何被禁用?

任何幫助表示讚賞!

Mike

+1

看看這裏瑟是否有幫助:http://stackoverflow.com/questions/499126/ jquery-set-cursor-position-in-text-area – tenshimsm 2011-04-21 19:18:57

+0

但這就是我們喜歡的方式。你爲什麼不呢? – mplungjan 2011-04-21 20:22:37

+0

@tenshimsm,太好了!但我只是不知道如何將Mark的代碼包含在我的表單嵌入代碼中,因此將光標置於默認值的末尾。我想知道你是否可以幫助我。 – Mori 2011-04-22 08:20:57

回答

0

您好,這裏是解決方案。葷一:

HTML:

<input type="text" id="a" /> 
<input type="text" id="b" /> 

的Javascript:

$("input").focus(function(){ 
    if($(this).val() != ""){ 
     var elm = $(this); 
     var val = elm.val(); 
     setTimeout(function(){elm.val(val);},1); 
    } 
}); 

演示:http://jsfiddle.net/naveed_ahmad/S2UPs/

+0

嗨Naveed,感謝您的回答,但它似乎並沒有在Firefox和Opera的工作。 – Mori 2011-04-21 20:09:18

0

這是工作,至少在Firefox。它觸發了 「結束」 鍵:

$('input[type=text]').bind('focus',function(){ 
    var e = jQuery.Event("keydown"); 
    e.which = 35; // # key code for end key 
    $("input[type=text]").trigger(e); 
    return false; 
}); 
+0

我不知道爲什麼它只適用於Firefox – tenshimsm 2011-04-22 16:35:46

+0

我需要一個跨瀏覽器的解決方案。請你讓我知道如何在我的表單中包含Mark的代碼?或者,也許解決方案提供以下參考:[鏈接] http://stackoverflow.com/questions/1909220/define-cursor-position-in-form-input-field – Mori 2011-04-22 17:26:37

+0

對不起,我試過jCaret,jquery.caret改變了我的代碼,甚至做了它,我沒有在除Firefox之外的其他瀏覽器中工作。 – tenshimsm 2011-04-26 00:27:31

2
var $yourInput; 

$yourInput = $("#your_input"); 

setTimeout(function() { 
    return $yourInput.selectRange($yourInput.val().length, $yourInput.val().length); 
}, 10); 

selectRange功能,你可以在這裏找到:jQuery Set Cursor Position in Text Area