()
| 11261 | } |
| 11262 | |
| 11263 | function hiddenTextarea() { |
| 11264 | var te = elt("textarea", null, null, "position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none") |
| 11265 | var div = elt("div", [te], null, "overflow: hidden; position: relative; width: 3px; height: 0px;") |
| 11266 | // The textarea is kept positioned near the cursor to prevent the |
| 11267 | // fact that it'll be scrolled into view on input from scrolling |
| 11268 | // our fake cursor out of view. On webkit, when wrap=off, paste is |
| 11269 | // very slow. So make the area wide instead. |
| 11270 | if (webkit) { |
| 11271 | te.style.width = "1000px" |
| 11272 | } else { |
| 11273 | te.setAttribute("wrap", "off") |
| 11274 | } |
| 11275 | // If border: 0; -- iOS fails to open keyboard (issue #1287) |
| 11276 | if (ios) { |
| 11277 | te.style.border = "1px solid black" |
| 11278 | } |
| 11279 | disableBrowserMagic(te) |
| 11280 | return div |
| 11281 | } |
| 11282 | |
| 11283 | // The publicly visible API. Note that methodOp(f) means |
| 11284 | // 'wrap f in an operation, performed on its `this` parameter'. |
no test coverage detected