2013-01-08 97 views
1

我有一個函數可以將大寫字母轉換爲小寫字母,以便用小破折號替換空格。使用鍵盤事件時,能夠使用鍵盤移動光標

問題是,例如,如果用戶出現拼寫錯誤並想糾正錯誤,如果他嘗試使用鍵盤將光標向後移動,他將無法這樣做,因爲光標始終處於打開狀態字符串的最後位置。

在這裏,我有JS撥弄例如工作: http://jsfiddle.net/R8N8F/7/

在我使用jQuery的,因爲我不能使它與的jsfiddle Javascript的運行例子,但是這是我使用的當前功能:

function replaze(obj){ 
    obj.value = obj.value.toLowerCase().replace(/ /g, '-'); 
} 

這我的HTML:

<input name="demo" autofocus="autofocus" onkeyup="replaze(this);" type="text" id="UserUsername"> 

感謝。

+0

這裏的工作小提琴:http://jsfiddle.net/RoryMcCrossan/R8N8F/4/ –

+0

Thanks.I也使用jQuery :)無論如何更新煤礦,問題劇照那裏。 – Alvaro

+0

@Steve:在FF 17 –

回答

1

可以使用這個答案保存的選擇:

https://stackoverflow.com/a/3288215/96100

你也可以使用我的jQuery plug-in,它使用相同的代碼。例如:

var $input = $("#UserUsername"); 
$input.keyup(function() { 
    var sel = $input.getSelection(); 
    replaze(this); 
    $input.setSelection(sel.start, sel.end); 
}); 
+0

工作很棒!無論如何,我用原始答案中發佈的Javascript代碼而不是這個jQuery代碼:) – Alvaro

+0

@Steve:好。我很少使用jQuery自己。 –