1

我想知道是否可以创建一种新的输入,而不是普通的数字、文本等。例如,我正在为我的实习制作一个森林火灾模型,我想添加的一件事是风. 我想知道我是否可以做类似的事情<input type='wind'/>并定义它的外观和行为方式。我可以通过其他方式做到这一点,但我也只是想知道是否可以做这样的事情。

谢谢

4

2 回答 2

5

可用input类型的列表在这里:http ://www.w3.org/community/webed/wiki/HTML/Elements/input

使用type默认文本枚举属性(即您只能使用这些值)。

但是,没有什么能阻止您向class="wind"输入添加或类似内容并使用 JavaScript 来更改所有此类输入的行为。

于 2013-04-07T23:58:13.053 回答
0

在实践中,没有什么能真正阻止您编写<input type='wind'/>HTML 并对其进行样式设置和编写脚本,例如(使用 jQuery)$('input[type=wind]').click(handler)。它不是有效的 HTML,但这只是意味着它不符合规范;浏览器不关心这个。它们会将元素视为普通文本输入框,因为它们不识别属性值,因此将使用默认值type='text'。这意味着 DOM 节点具有text作为type属性的值,但它的attributes数组(嗯,类似数组的对象)仍然具有wind作为type

所以就像<input class='wind'>@ExplosionPills 所建议的那样使用,只是使用不同的属性名称,并且有额外的复杂性。无论哪种方式,后备(在禁用脚本的情况下)都是一个普通的文本输入框。

如果回退不相关(如果没有 JavaScript,页面根本无法工作),使用spanordiv元素class并按照您喜欢的方式实现它是最简单的。这样您就不必处理普通文本输入框的默认呈现和行为;清除它们以支持您自己的渲染和功能可能有点棘手。

于 2013-04-08T05:02:05.717 回答