<button>
åºçº¿
广æ³å¯ç¨
*
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
* æ¤ç¹æ§çæäºé¨åçæ¯æç¨åº¦å¯è½ææä¸åã
HTML <button> å
ç´ è¡¨ç¤ºä¸ä¸ªå¯ç¹å»çæé®ï¼å¯ä»¥ç¨å¨è¡¨åæææ¡£å
¶ä»éè¦ä½¿ç¨ç®åæ åæé®çå°æ¹ãé»è®¤æ
åµä¸ï¼HTML æé®çæ¾ç¤ºæ ·å¼æ¥è¿äº user agent æå¨ç宿主系ç»å¹³å°ï¼ç¨æ·æä½ç³»ç»ï¼çæé®ï¼ä½ä½ å¯ä»¥ä½¿ç¨ CSS æ¥æ¹åæé®çæ ·è²ã
| å 容åç±» | Flow content, phrasing content, Interactive content, listed, labelable, and submittable form-associated element, palpable content. |
|---|---|
| å 许çå 容 | Phrasing content. |
| æ ç¾çç¥ | ä¸å 许ï¼å¼å§æ ç¾åç»ææ ç¾é½ä¸è½çç¥ã |
| å 许çç¶å ç´ | ä»»æå¯å®¹çº³ phrasing content çå ç´ ã |
| Permitted ARIA roles | checkbox, link, menuitem, menuitemcheckbox, menuitemradio, radio, switch, tab |
| DOM æ¥å£ | HTMLButtonElement |
屿§
该å ç´ å å«å ¨å±å±æ§.
autofocus-
ä¸ä¸ªå¸å°å±æ§ï¼ç¨äºæå®å½é¡µé¢å è½½æ¶æé®å¿ é¡»æè¾å ¥ç¦ç¹ï¼é¤éç¨æ·éåï¼ä¾å¦éè¿ä¸åæ§ä»¶é®å ¥ãåªæä¸ä¸ªè¡¨åå ³èå ç´ å¯ä»¥æå®è¯¥å±æ§ã
autocomplete-
è¯¥å±æ§å¨
<button>ä¸ç使ç¨å¹¶æªæ ååï¼åªæ Firefox å 许ãä¸åå ¶ä»æµè§å¨ï¼Firefox é»è®¤å¨é¡µé¢å è½½æ¶æç»ç¦ç¨ Button çå¨æç¶æï¼Firefox persists the dynamic disabled state ï¼ãå°æ¤å±æ§è®¾ç½®ä¸ºoff(i.e.autocomplete="off") å ³éæ¤ç¹æ§ãåè§ Firefox bug 654072ã disabled-
æ¤å¸å°å±æ§è¡¨ç¤ºç¨æ·ä¸è½ä¸ button 交äºã妿屿§å¼æªæå®ï¼button ç»§æ¿å å«å ç´ ï¼ä¾å¦
<fieldset>ï¼å¦ææ²¡æè®¾ç½®disabled屿§çå å«å ç´ ï¼button å°å¯äº¤äºãä¸åå ¶ä»æµè§å¨ï¼Firefox é»è®¤å¨é¡µé¢å è½½æ¶æç»ç¦ç¨ Button çå¨æç¶æã使ç¨autocomplete屿§å¯æ§å¶æ¤ç¹æ§ã form-
表示 button å ç´ å ³èç form å ç´ ï¼å®çè¡¨åæ¥æè ï¼ãæ¤å±æ§å¼å¿ 须为åä¸ææ¡£ä¸çä¸ä¸ª
<form>å ç´ çid屿§ã妿æ¤å±æ§æªæå®ï¼<button>å ç´ å¿ é¡»æ¯ form å ç´ çå代ãå©ç¨æ¤å±æ§ï¼ä½ å¯ä»¥å°<button>å ç´ æ¾ç½®å¨ææ¡£å çä»»ä½ä½ç½®ï¼èä¸ä» ä» æ¯ä½ä¸ºä»ä»¬ form å ç´ çå代ã formaction-
表示ç¨åºå¤ç button æäº¤ä¿¡æ¯ç URIã妿æå®äºï¼å°éå button è¡¨åæ¥æè ç
action屿§ã formenctype-
妿 button æ¯ submit ç±»åï¼æ¤å±æ§å¼æå®æäº¤è¡¨åå°æå¡å¨çå 容类åãå¯éå¼ï¼
formmethod-
妿 button æ¯ submit ç±»åï¼æ¤å±æ§æå®æµè§å¨æäº¤è¡¨å使ç¨ç HTTP æ¹æ³ãå¯éå¼ï¼
postï¼æ¥èªè¡¨åçæ°æ®è¢«å å«å¨è¡¨åå 容ä¸ï¼è¢«åéå°æå¡å¨ãgetï¼æ¥èªè¡¨åçæ°æ®ä»¥'?'ä½ä¸ºåé符被éå å° form çURI屿§ä¸ï¼å¾å°ç URI 被åéå°æå¡å¨ãå½è¡¨å没æå¯ä½ç¨ï¼ä¸ä» å å« ASCII å符æ¶ä½¿ç¨è¿ç§æ¹æ³ã妿æå®äºï¼æ¤å±æ§ä¼éå button æ¥æè çmethod屿§ã
formnovalidate-
妿 button æ¯ submit ç±»åï¼æ¤å¸å°å±æ§æå®å½è¡¨å被æäº¤æ¶ä¸éè¦éªè¯ã妿æå®äºï¼å®ä¼éå button æ¥æè ç
novalidate屿§ã formtarget-
妿 button æ¯ submit ç±»åï¼æ¤å±æ§æå®ä¸ä¸ªåç§°æå ³é®åï¼è¡¨ç¤ºæ¥æ¶æäº¤ç表ååå¨åªéæ¾ç¤ºååºãè¿æ¯ä¸ä¸ªæµè§ä¸ä¸æï¼ä¾å¦ tabï¼window æå èæ¡æ¶ï¼çåç§°æå ³é®åã妿æå®äºï¼å®ä¼éå button æ¥æè ç
target屿§ãå ³é®åå¦ä¸ï¼_self: å¨åä¸ä¸ªæµè§ä¸ä¸æä¸å è½½ååºä½ä¸ºå½åçãæªæå®æ¶æ¤å¼ä¸ºé»è®¤å¼ã_blank: å¨ä¸ä¸ªæ°çä¸ç¥åæµè§ä¸ä¸æä¸å è½½ååºã_parent: å¨å½åæµè§ä¸ä¸æç¶çº§ä¸å è½½ååºãå¦ææ²¡æç¶çº§çï¼æ¤é项尿_self æ§è¡ã_top: å¨é¡¶çº§æµè§ä¸ä¸æï¼å³å½åæµè§ä¸ä¸æçç¥å ï¼ä¸æ²¡æç¶çº§ï¼ä¸æ¶å è½½ååºãå¦ææ²¡æé¡¶çº§çï¼æ¤é项尿_self æ§è¡ã
name-
button çåç§°ï¼ä¸è¡¨åæ°æ®ä¸èµ·æäº¤ã
type-
button çç±»åãå¯éå¼ï¼
submit: æ¤æé®å°è¡¨åæ°æ®æäº¤ç»æå¡å¨ãå¦ææªæå®å±æ§ï¼æè 屿§å¨ææ´æ¹ä¸ºç©ºå¼ææ æå¼ï¼åæ¤å¼ä¸ºé»è®¤å¼ãreset: æ¤æé®éç½®ææç»ä»¶ä¸ºåå§å¼ãbutton: æ¤æé®æ²¡æé»è®¤è¡ä¸ºãå®å¯ä»¥æä¸å ç´ äºä»¶ç¸å ³ç客æ·ç«¯èæ¬ï¼å½äºä»¶åºç°æ¶å¯è§¦åã
value-
button çåå§å¼ãå®å®ä¹çå¼ä¸è¡¨åæ°æ®çæäº¤æé®ç¸å ³èãå½è¡¨åä¸çæ°æ®è¢«æäº¤æ¶ï¼è¿ä¸ªå¼ä¾¿ä»¥åæ°çå½¢å¼è¢«ééè³æå¡å¨ã
注æ
<button> å
ç´ æ¯ <input> å
ç´ æ´å®¹æä½¿ç¨æ ·å¼ãä½ å¯ä»¥å¨å
ç´ å
æ·»å HTML å
容ï¼å <em>ã<strong> çè³ <img>ï¼ï¼ä»¥å ::after å ::before 伪å
ç´ æ¥å®ç°å¤æçææï¼è <input> åªæ¯æææ¬å
容ã
å¦æä½ çæé®ä¸æ¯ç¨äºåæå¡å¨æäº¤æ°æ®ï¼è¯·ç¡®ä¿è¿äºæé®ç type 屿§è®¾ç½®æ buttonãå¦åå®ä»¬è¢«æä¸åå°ä¼åæå¡å¨åéæ°æ®å¹¶å è½½ï¼å¯è½å¹¶ä¸åå¨çï¼ååºå
容ï¼å èå¯è½ä¼ç ´åå½åææ¡£çç¶æã
IE7 å¨ä½¿ç¨ <button type="submit" name="myButton" value="foo">Click me</button> æäº¤è¡¨åæ¶åå¨ä¸ä¸ª BUGï¼POST æäº¤çæ°æ®å°æ¯ myButton=Click me è䏿¯ myButton=fooï¼æ²¡ææ value 屿§çå¼ foo æäº¤ä¸å»ï¼ã
IE6 ç BUG æ´ç³ç³ï¼å¨æäº¤è¡¨åçæ¶åä¼æè¡¨åå
ææçæé®é½æäº¤ä¸å»ï¼åæ¶è¿æå IE7 䏿 ·ç BUGã
IE8 å·²ç»ä¿®å¤äºè¿ä¸ªé®é¢ã
Firefox åºäºä½¿ç¨æ¹ä¾¿çç®çï¼ä¼å¨è·å¾ç¦ç¹çæé®ä¸æ·»å ä¸ä¸ªç»å°çè线æ¡ãè¿ä¸ªè¾¹æ¡ç±æµè§å¨å
é¨çæ ·å¼è¡¨ä¸ç CSS å®ä¹ï¼ä½å¦ææå¿
è¦çè¯ï¼ä½ å¯ä»¥ç¨ button éåè¿ä¸ªæ ·å¼ã::-moz-focus-inner { }
Firefox å¨é»è®¤æ
åµä¸ä¼å¨é¡µé¢å è½½æ¶è®© <button> ä¿æå¨æç¦ç¨ç¶æ ï¼è¿ä¸ªè¡ä¸ºå¨å
¶ä»æµè§å¨ä¸æ¯æ²¡æçãå° autocomplete 屿§è®¾ç½®ä¸º off å¯ä»¥ç¦ç¨è¿é¡¹ç¹æ§ãåè§ Firefox bug 654072ã
å®åç³»ç»ä¸ç Firefox <35 ä¼ä¸ºæ¯ä¸ªæé®è®¾ç½®ä¸ä¸ªé»è®¤ç background-image æ¸åèæ¯ï¼åè§ Firefox bug 763671ï¼ãè¿é¡¹å¯ä»¥éè¿ background-image: none ç¦ç¨ã
ç¹å»åç¦ç¹
ç¹å» <button> ä¼è®©æµè§å¨åæä½ç³»ç»ï¼é»è®¤æ
åµä¸ï¼å°ç¦ç¹æ¾å¨å
¶ä¸ã <input> ç type="button" å type="submit" 乿¯ä¸æ ·çã
| æ¡é¢æµè§å¨ | Windows 8.1 | OS X 10.9 |
|---|---|---|
| Firefox 30.0 | Yes | No (even with a tabindex) |
| Chrome 35 | Yes | Yes |
| Safari 7.0.5 | N/A | No (even with a tabindex) |
| Internet Explorer 11 | Yes | N/A |
| Presto (Opera 12) | Yes | Yes |
| ç§»å¨æµè§å¨ | iOS 7.1.2 | Android 4.4.4 |
|---|---|---|
| Safari Mobile | No (even with a tabindex) |
N/A |
| Chrome 35 | No (even with a tabindex) |
Yes |
示ä¾
<button name="button">Click me</button>
请注æä¸ä¾ä¸åºç¨äº CSSã
è§è
| è§è |
|---|
| HTML > # the-button-element > |
æµè§å¨å ¼å®¹æ§
åè§
Other elements that are used for creating forms: <form>, <datalist>, <fieldset>, <input>, <label>, <legend>, <meter>, <optgroup>, <option>, <output>, <progress>, <select>, <textarea>.