我想知道是否可以创建一种新的输入,而不是普通的数字、文本等。例如,我正在为我的实习制作一个森林火灾模型,我想添加的一件事是风. 我想知道我是否可以做类似的事情<input type='wind'/>
并定义它的外观和行为方式。我可以通过其他方式做到这一点,但我也只是想知道是否可以做这样的事情。
谢谢
我想知道是否可以创建一种新的输入,而不是普通的数字、文本等。例如,我正在为我的实习制作一个森林火灾模型,我想添加的一件事是风. 我想知道我是否可以做类似的事情<input type='wind'/>
并定义它的外观和行为方式。我可以通过其他方式做到这一点,但我也只是想知道是否可以做这样的事情。
谢谢
可用input
类型的列表在这里:http ://www.w3.org/community/webed/wiki/HTML/Elements/input
使用type
默认文本枚举属性(即您只能使用这些值)。
但是,没有什么能阻止您向class="wind"
输入添加或类似内容并使用 JavaScript 来更改所有此类输入的行为。
在实践中,没有什么能真正阻止您编写<input type='wind'/>
HTML 并对其进行样式设置和编写脚本,例如(使用 jQuery)$('input[type=wind]').click(handler)
。它不是有效的 HTML,但这只是意味着它不符合规范;浏览器不关心这个。它们会将元素视为普通文本输入框,因为它们不识别属性值,因此将使用默认值type='text'
。这意味着 DOM 节点具有text
作为type
属性的值,但它的attributes
数组(嗯,类似数组的对象)仍然具有wind
作为type
所以就像<input class='wind'>
@ExplosionPills 所建议的那样使用,只是使用不同的属性名称,并且有额外的复杂性。无论哪种方式,后备(在禁用脚本的情况下)都是一个普通的文本输入框。
如果回退不相关(如果没有 JavaScript,页面根本无法工作),使用span
ordiv
元素class
并按照您喜欢的方式实现它是最简单的。这样您就不必处理普通文本输入框的默认呈现和行为;清除它们以支持您自己的渲染和功能可能有点棘手。