2016-02-15 150 views
-2

這是HTML控件的代碼,我只是在拉琴跑:爲什麼onkeypress不起作用?

<input type="text" id="txtname" value="John" onkeypress="return false;"/> 
  • 案例1器(Chrome):上面的代碼讓我刪除文本框的文本,但不是讓插入新文本一樣。

  • 案例2(Firefox):不要讓既不刪除也不插入。

爲什麼這樣呢?如何解決這個問題?

最後爲什麼這個結果是彼此不同?

+1

因爲你返回false。你想做什麼 ? – smdsgn

+1

你是什麼意思不起作用?你想做什麼? –

+0

我想要的是不要讓任何帶有文本框的值既不插入也不刪除,但是在Chrome中我能夠刪除文本框中的文本.. – Kaishu

回答

1

我想是不是讓與文本框的值沒有插入不刪除

我認爲你正在尋找readonly(沒有JS代碼需要)的任何事情:

<input type="text" id="txtname" value="John" readonly/>


但是如果我想讓用戶只能刪除,而不是讓他插入文字

在這種情況下,您可以僅允許backspace(代碼8)和delete(代碼46):

<input type="text" id="txtname" value="John" 
 
onkeydown='return event.which == 46 || event.which == 8' required />

希望這有助於。

+0

哦,這是我們不讓用戶對文本框值進行任何操作的一種情況。但是,如果我想讓用戶只刪除並不讓他插入文本,就像它發生在鉻中一樣? – Kaishu

+1

@Kaishu如果他們犯了一個錯字,並且需要刪除一個字符,該怎麼辦?如果您希望顯示某些內容而不讓它們編輯它,請將其放在文本框之外的區域或類似內容中。 –

+0

@詹姆斯,實際上從彈出列表中設置的文本框的值實際上是在按鈕點擊時設置的,甚至在文本框附近。 – Kaishu