如何將焦點設置爲隱藏文本框元素?使用Javascript將焦點設置爲隱藏文本框字段
我嘗試使用
document.getElementById("textControl_fd_component_JSON_TASK_NStext64").focus;
但是,當我提出這個領域看得見,這並不在這裏
alert(document.activeElement.id); returns null.
工作,上面的腳本工作的罰款。
任何猜測我錯了嗎?
如何將焦點設置爲隱藏文本框元素?使用Javascript將焦點設置爲隱藏文本框字段
我嘗試使用
document.getElementById("textControl_fd_component_JSON_TASK_NStext64").focus;
但是,當我提出這個領域看得見,這並不在這裏
alert(document.activeElement.id); returns null.
工作,上面的腳本工作的罰款。
任何猜測我錯了嗎?
我不認爲這是允許的,至少在IE中。我從jQuery's focus page得到了這個信息。
如果你真的需要做到這一點,使框透明,不隱:
opacity:0;
filter:alpha(opacity=0);
另外,如果你想確保用戶不小心點擊它,只需將裏面輸入DIV與
width: 0;
overflow: hidden;
然而,有肯定是一個更好的方式做你想做的,也許使用/keypress
事件。
使用Apsillers答案,我的設置爲參與此相同的情況:
Aspillers的回答是給出問題的答案是正確的,但我想給出一個實際的例子,說明何時這是必要的。
具體來說,如果您使用任何形式的「花哨」輸入(即無線電/檢查元素,選擇元素)的腳本/插件,可以隱藏表單元素。但是,如果你的腳本或插件寫得不好,它可以消除鍵盤的可訪問性。通過允許所有元素具有焦點來保持表單的流動可以爲網站用戶節省許多麻煩。
如果您需要解決方法並且無法更改不透明度attr,則可以添加一些js。
/* bind a click handler to your trigger */
jQuery('#your-search-trigger').on('click', function searchIconEventhandler (event) {
/* in case your field is fading, cheat a little (check css transition duration) */
setTimeout (function timeoutFunction() {
/* show the cursor */
jQuery('#your-search-input').focus();
}, 100);
});
我想你已經證明,你不能把焦點放在隱藏的領域,這是有道理的。你可以擴展爲什麼要這樣做?可能會有更好的方法。 –