我确信那里有一百万个帖子,但令人惊讶的是我找不到东西.
我有一个简单的脚本,我想<A>在页面初始化时为链接设置onClick处理程序.
当我运行这个时,我立即得到一个'foo'警报框,我希望在我点击链接时才会收到警报.
我做错了什么蠢事?(我试过click =和onClick =)...
<script language="javascript">
function init(){
document.getElementById("foo").click = new function() { alert('foo'); };
}
</script>
<body onload="init()">
<a id="foo" href=#>Click to run foo</a>
</body>
Run Code Online (Sandbox Code Playgroud)
编辑:我改变了我对jQuery答案的接受答案.' MárÖrlygsson '的答案在技术上是我原始问题的正确答案(click应该onclick并且new应该被删除)但我强烈反对任何人直接在他们的代码中使用'document.getElementById(...) - 而是使用jQuery代替.
我只是想更深入地理解Javascript.
我创建了一个'类' gameData,我只想要一个,不需要构造函数,或者实例化.
所以我就这样创造了......
var gameData = new function () {
//May need this later
this.init = function () {
};
this.storageAvailable = function () {
if (typeof (Storage) !== "undefined") {
return true;
}
else {
return false;
}
};
}
Run Code Online (Sandbox Code Playgroud)
意识到'new'关键字不允许它实例化并使其可用LIKE静态类将在C#中.
我是否正确地想到了这一点?静电?
两个函数的定义和赋值有什么不同吗?
this.foo = new (function () {..})();
Run Code Online (Sandbox Code Playgroud)
与
this.foo = function (){...};
Run Code Online (Sandbox Code Playgroud)