Если я положил элемент управления <input type="range">
на форму, некоторые браузеры (правильно) будут отображать ползунок, а другие не будут знать, что range
есть и будет отображать текстовое поле. Обработка этого случая потребует дополнительной проверки, поскольку текстовое поле может содержать любой произвольный текст. Есть ли какой-либо JavaScript, который я могу разместить на странице, чтобы сказать «посмотрите на этот элемент управления в DOM, и если это элемент управления текстовым полем, выполните foo()
»?Как определить, поддерживается ли входной контроль HTML5?
ответ
site recommends using Modernizer Это:
Проверка типов входных HTML5 использует технику обнаружения # 4. Во-первых, вы создаете фиктивный элемент <input>
в памяти. Тип ввода по умолчанию для всех элементов <input>
- это «текст». Это будет жизненно важно.
var i = document.createElement("input");
Затем установите атрибут type на фиктивном элементе на тип ввода, который вы хотите обнаружить.
i.setAttribute("type", "color");
Если ваш браузер поддерживает этот тип ввода, свойство type сохранит заданное вами значение. Если ваш браузер не поддерживает этот тип ввода, он будет игнорировать установленное вами значение и свойство type будет по-прежнему являться «текстом».
return i.type !== "text";
Вместо написания 13 отдельных функций самостоятельно, вы можете использовать Modernizr обнаружить поддержку для всех новых типов ввода, определенных в HTML5. Modernizr повторно использует один элемент <input>
, чтобы эффективно обнаруживать поддержку для всех 13 типов ввода. Затем он создает хэш с именем Modernizr.inputtypes
, который содержит 13 ключей (атрибуты типа HTML5) и 13 булевых значений (true, если поддерживается, false, если нет).
//check for native date picker
if (!Modernizr.inputtypes.date) {
// no native support for <input type="date"> :(
// maybe build one yourself with Dojo or jQueryUI
}
Проверьте HTML 5 shim ... также с неправильным выражением HTML 5 shiv. – ErikE
- 1. ли HTML5 поддерживается
- 2. Как определить, поддерживается ли видеоформат
- 3. Как определить, поддерживается ли File.symlink
- 4. Как определить, поддерживается ли UIMotionEffect?
- 5. Как определить, поддерживается ли clipboard.js
- 6. Как определить, поддерживается ли window.confirm()?
- 7. Поддерживается ли createElement() в html5?
- 8. бутстрап входной форма-контроль
- 9. Как проверить, поддерживается ли html5 браузером
- 10. Маскированный входной контроль Xamarin.forms
- 11. JQuery входной динамический контроль
- 12. Определить, поддерживается ли символ Юникода?
- 13. как определить, является ли входной забой
- 14. Как определить, поддерживается ли polyfill webcomponentsjs?
- 15. Как определить, поддерживается ли графический интерфейс?
- 16. Как определить, поддерживается ли многозадачность на устройстве?
- 17. .NET Как определить, поддерживается ли DirectX 10?
- 18. Как определить, поддерживается ли двойной сокет?
- 19. Как определить, поддерживается ли Promise браузером
- 20. HTML5 входной синтаксис
- 21. Поддерживается ли DRM в аудио/видео HTML5?
- 22. HTML5 Timeline, контроль Ганта
- 23. Как определить входной тип данных?
- 24. Как определить HTML5
- 25. Как определить, действительно ли воспроизводится звук HTML5?
- 26. React Native: определить, поддерживается ли UIVisualEffectView
- 27. Javascript - определить, поддерживается ли lister событий
- 28. Как определить, какой контроль сфокусирован?
- 29. Проверьте, имеет ли входной контроль определенный тип vallidator в angular2
- 30. Html5 регулярное выражение входной текст
возможно дубликат [Как проверить, если вход HTML5 поддерживается?] (Http://stackoverflow.com/questions/8278670/how-to-check-if-a-html5-input-is -supported) – Mathletics