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