2014-03-06 63 views
0

我有一個2位重複數字的文本框(例如11),當我突出顯示第一個數字時,是否有任何函數可以返回索引爲0? 我想那是什麼,我有:JavaScript找到文本框中選定字符的索引

var selectedString = window.getSelection(); 
    if (selectedString == textBoxValue.charAt(0)) {...} 

這不會起作用,因爲所選擇的字符串的值「1」從11日的第一個數字,所以它會進入if語句,但是如果我只選擇第二個數字,其中selectedString也將爲「1」並等於textBoxValue.charAt(0),但我不希望發生這種情況,因爲第二個數字應該對應於textBoxValue.charAt(1)。

那麼,有沒有辦法讓高亮顯示的值的指數,這樣我就可以這樣做:

if (selectedString == textBoxValue.charAt(0) && selectedString.index == 0) {...} 
+0

[輸入Web API](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement)在MDN ... – Teemu

回答

0
var selection = window.getSelection(); 
var offset = selection.anchorOffset; 

因此當我們選擇第一個數字,偏移值爲「0 '&第二位數值變爲'1'。

+0

我試過了,但似乎像textBoxValue.indexOf(selectedString) == 0和textBoxValue.lastIndexOf(selectedString)== 1總是正確的,不管我選擇了什麼。 – Sammie

+0

你可以使用anchorOffset屬性來實現...... – Arjit

+0

你介意給我看一個快速示例嗎? – Sammie

相關問題