我正在着手編寫一個jquery插件,它需要輸入元素,textareas,選擇html元素等一系列輸入元素,並且一旦在上述任何一箇中按下回車鍵項目,一個輸入按鈕被觸發。因此,按鈕被設置爲字段的默認值。這樣做的任何提示?用jquery插件在html元素上設置默認按鈕
回答
表單中的第一個input type="submit"
/"image"
/button type="submit"
是'默認'提交按鈕。
如果您想作爲默認按鈕的按鈕不應該先出現在頁面上,然後用例如。浮動或定位。或者,如果這不可行,只需在表單中首先使用一個額外的虛擬提交按鈕,使用position: absolute; left: -lots
即可使其無法看到。 (您可以使用tabindex
以正常的Tab鍵順序停止;不要使用display: none
或visibility: hidden
,因爲在某些瀏覽器中會停止默認按鈕。)從form.onsubmit
事件中捕獲默認按鈕/提交操作以及他們自己的onclick
事件中的任何其他非默認按鈕。
這是一個醜陋的黑客,它確實很可惜,HTML沒有辦法自然地改變默認按鈕,但是在這裏利用本機瀏覽器的行爲比試圖用腳本代替它更好,比你想象的更復雜。有很多有趣的小瀏覽器行爲可能會讓你感到沮喪。
例如,如果您決定按Enter鍵,則可能會收到使用IME的用戶不需要的輸入事件。在input type="button"
或textarea
上輸入按鍵通常不應觸發提交。除非使用鍵盤導航下拉菜單(並且無法可靠地分辨何時發生這種情況),否則請在select
上輸入按鍵。如果表單中的非字段元素獲得焦點並按下Enter,會怎麼樣?你不會捕獲它,並且在某些瀏覽器中,這將導致表單提交,而無需您的代碼干預,無論如何都會以默認按鈕結束。 Shift-Enter或Ctrl-Enter是否意味着在文本字段中提交?在文本區域?在複選框上輸入確認,提交表格或兩者? ...
瀏覽器在這裏有許多微妙的不同行爲;你會瘋狂地試圖掩蓋每一個小小的可能性,無論你決定什麼都可能會違背用戶的預期行爲。讓瀏覽器正常的默認表單提交代碼來處理它。
+1給你,並刪除我... – alex 2010-10-28 00:09:28
- 1. 默認按鈕設置
- 2. jquery - 設置插件的默認值?
- 3. 在asp.net 2.0中設置默認按鈕
- 4. 用jQuery插件設置html元素的值
- 5. 在Jinja模板中爲select html元素設置默認值?
- 6. QML:MessageDialog,standardButtons和設置默認按鈕
- 7. 設置默認「ok」和「取消」按鈕
- 8. 設置默認元素裝飾
- 9. 設置默認SRC到IMG元素
- 10. 如何在某個按鈕上設置默認「輸入」
- 11. 如何將html按鈕設置爲ASP.Net窗體的默認值?
- 12. 如何設置HTML表單中的默認提交按鈕?
- 13. 如何設置HTML選擇元素的默認消息值?
- 14. 無法識別的HTML元素的默認設置
- 15. Jquery加載默認元素
- 16. 在Ajaxified嚮導控件中設置默認按鈕
- 17. 設置按鈕看起來像默認的安卓按鈕
- 18. 將元素重置爲「默認」事件
- 19. 設置默認的字體與插件
- 20. JavaScript roundslider插件默認設置
- 21. 使用單選按鈕在ChoiceType中設置默認數據
- 22. 在新創建的元素上應用jQuery文件樣式插件設置
- 23. 動態設置默認選擇在HTML中使用jQuery
- 24. 在Google表單上,我可以在單選按鈕上設置默認值嗎?
- 25. 在jQuery中默認摺疊slideToggle()元素
- 26. 如何用jQuery設置select html元素的選定元素?
- 27. 在每個控件上設置事件隧道默認設置
- 28. 通過單選按鈕狀態設置HTML元素可見性
- 29. 設置元素的HTML屬性jQuery中
- 30. html輸入按鈕默認邊框css
你在找什麼樣的「技巧」? – 2010-10-27 23:28:38
HTML文本輸入表單元素中的Enter鍵的默認行爲是觸發第一個「提交」按鈕。 – Phil 2010-10-27 23:31:54
@Phil Brown我不認爲他們都這麼做。 textarea的,一個。 – alex 2010-10-27 23:35:57