1. 程式人生 > 其它 >layui資料表格,自定義頭部中使用input輸入框不可輸入問題

layui資料表格,自定義頭部中使用input輸入框不可輸入問題

技術標籤:htmlhtmllayui

問題出在這個屬性,解決辦法font-size給個值就行了

原始是font-size:0所以什麼都輸入不進去

//input繼承父級的字型大小
font-size: inherit;

通過檢視他的父級屬性確實設定 font-size:0
在這裡插入圖片描述

總結一下input什麼情況不能輸入吧:

1. input框設定了readonly屬性

只讀欄位是不能修改的。不過,使用者仍然可以使用 tab 鍵切換到該欄位,還可以選中或拷貝其文字。

readonly 屬性可以防止使用者對值進行修改,直到滿足某些條件為止(比如選中了一個複選框)。然後,需要使用 JavaScript 消除 readonly 值,將輸入欄位切換到可編輯狀態。

readonly 屬性可與 或 配合使用

2. input框自身設定font-size為0

這種情況比較少見,但是有些時候,為了消除span元素之間的間隔會讓font-size為0,如果強行設定input寬高,這時就算input框顯示了,因為font-size為零,就啥也輸不進去。

3.input框被其他元素擋住

這種情況大致是因為浮動和z-index引起的,它的特點是即使點選input元素也不會出現選中狀態,只要認真排查一下html的結構合不合理,就可以找到問題。

4.設定了使用者不可選中文字

可能會因為瀏覽器的一些適配問題,導致你設定的user-select:none;影響到了input框的正常事件

5. return false;的使用清除了input框的預設事件

我們知道使用stopPropagation(); 可以阻止預設的冒泡事件,使用preventDefault();可以消除預設事件,但是在使用中貪圖方便直接用return false;來代替以上兩種方法,阻止預設事件用reutrn false,但是在jquery中,reutrn false;既阻止了冒泡,又消除了預設事件,如果不清楚這一點很有可能在使用on繫結事件時,使用reutrn false;消除冒泡的時候也消除了預設事件,導致input框無法輸入內容。