2012-02-17 211 views
3

我有一個簡單的textarea和我的web應用程序中的輸入。出於某種原因,我無法用箭頭鍵回到鍵入的文本中。輸入光標不會向後移動。箭頭鍵不起作用在輸入和文本區域

但是我可以使用ctrl + a,或者用鼠標點擊我想要編輯的位置。這很混亂。在我的代碼中,我沒有在任何關鍵事件中使用e.preventDefault - 大約有30個js文件和一些巨大的css文件。

關於爲什麼箭頭可能不起作用的任何想法?

謝謝!

+1

通過刪除某些JS文件進行調試? – 472084 2012-02-17 09:06:15

+0

你能提供一個最低工作範例嗎?一些代碼? – 2012-02-17 09:06:48

+1

首先通過刪除連續的js文件來隔離問題,直到箭頭鍵再次工作 - 比回來的結果。 – WTK 2012-02-17 09:08:02

回答

6

不要在你所有的JS文件的搜索,尋找類似的東西:

keyCode == 37 

which == 37 

,因爲這是左箭頭。也許冥冥之中有類似的東西:

if (e.keyCode == 37) 
    e.preventDefault(); 
+0

就是這樣。在搜索我的js文件的內容後,我發現我有一個下拉菜單組件,它阻止了(33,34,35,36,37,38,39,40)的默認設置。謝謝! – 2012-02-17 09:17:52

+0

當我第一次看到這個答案時,我很懷疑。然後,我嘗試了你所說的話。原來你是對的。頭腦風暴。 – taylorstine 2016-10-06 21:57:13

0

只是爲了添加註釋,以幫助人們加載收藏內輸入和文字區域。 大多數燈箱將箭頭鍵綁定到照片導航(上一個,下一個),所以箭頭鍵不能在您的表單域中工作。

要解決這個問題,只需搜索燈箱的JavaScript代碼中的鍵碼(如Jules建議的),並刪除綁定箭頭鍵的代碼塊。或者你可以調節它。

例如,在右lightbox.js鍵綁定代碼

var b=p.current,c=({27:"close",33:"prev",37:"prev",38:"prev",39:"next",40:"next",34:"next"})[a.keyCode]; 

27是退出鍵,這樣你就可以離開,有,並刪除其餘部分。