使用占位符 html5 时出现奇怪的 Javascript 问题
Posted
技术标签:
【中文标题】使用占位符 html5 时出现奇怪的 Javascript 问题【英文标题】:Strange Javascript issue when using placeholders html5 【发布时间】:2014-02-25 18:42:24 【问题描述】:我正在使用 placeholders.js,但我在控制台中收到以下错误...
[Error] TypeError: 'undefined' is not a function (evaluating 'Placeholders.init(
live: true,
hideOnFocus: false,
className: "yourClass",
textColor: "#999"
)')
complete (main.js, line 416)
j (modernizr.js, line 4)
(anonymous function) (modernizr.js, line 4)
h (modernizr.js, line 4)
onload (modernizr.js, line 4)
这是我围绕这些行的代码,任何人都可以看到这有什么问题,我已经尝试了好几个小时,但我无法理解它。
if (!Modernizr.placeholder)
Placeholders.init(
live: true,
hideOnFocus: false,
className: "yourClass",
textColor: "#999"
);
【问题讨论】:
这个问题可能太简单了,但是您是否编辑了“yourClass”以引用您添加占位符元素的输入的实际类属性? 是的,我试过了,我希望它也这么简单,但遗憾的是不是:(谢谢你的回复。 您是在该脚本块之前加载占位符 polyfill(作为脚本标签,还是使用Modernizr.load
)?
【参考方案1】:
您是否尝试使用在here 找到的刷过的网页模板?我在尝试使用该模板时遇到了同样的问题,因为它包含您发布的完全相同的代码。
为了解决我的问题,我去了Placeholders' Github page查看界面。在那里,我发现 Placeholders.js 文件中没有定义 init() 函数,并且在 Setup 部分下它说:
Placeholders.js 非常易于使用。只需下载脚本,将其包含在任何网页的底部,然后让它完成其余的工作。这只是您的标记中的额外一行。
所以,不要担心调用 init() 函数。您所要做的就是包含 Placeholders.js 文件,仅此而已。这样,我的错误就消失了!我知道这是一个迟到的回复,但我希望它对某人有所帮助。
【讨论】:
以上是关于使用占位符 html5 时出现奇怪的 Javascript 问题的主要内容,如果未能解决你的问题,请参考以下文章
Swift:MaterialComponents TextFields快速单击时出现意外的占位符行为
通过 IE10 中的 jQuery 在 Textarea 上的 HTML5 占位符属性