【问题标题】:Strange Javascript issue when using placeholders html5使用占位符 html5 时出现奇怪的 Javascript 问题
【发布时间】: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)?

标签: jquery html placeholder


【解决方案1】:

您是否尝试使用在here 找到的刷过的网页模板?我在尝试使用该模板时遇到了同样的问题,因为它包含您发布的完全相同的代码。

为了解决我的问题,我去了Placeholders' Github page查看界面。在那里,我发现 Placeholders.js 文件中没有定义 init() 函数,并且在 Setup 部分下它说:

Placeholders.js 非常易于使用。只需下载脚本,将其包含在任何网页的底部,然后让它完成其余的工作。这只是您的标记中的额外一行。

所以,不要担心调用 init() 函数。您所要做的就是包含 Placeholders.js 文件,仅此而已。这样,我的错误就消失了!我知道这是一个迟到的回复,但我希望它对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-12
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多