我敢肯定有一百万篇关于这方面的帖子,但令人惊讶的是,我很难找到一些东西。
我有一个简单的脚本,我希望在页面初始化时为<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>
编辑:我将我接受的答案更改为jQuery答案。从技术上讲,'Már Örlygsson‘的答案是我最初问题的正确答案(click
应该是onclick
,new
应该被删除),但我强烈建议任何人不要在他们的代码中直接使用'document.getElementById(...) -而使用jQuery。
发布于 2008-10-30 02:10:14
jQuery:
$('#foo').click(function() { alert('foo'); });
或者,如果您不希望它跟随链接href:
$('#foo').click(function() { alert('foo'); return false; });
发布于 2008-10-30 02:06:55
尝试:
document.getElementById("foo").onclick = function (){alert('foo');};
发布于 2008-10-30 02:10:48
使用.onclick
(全部小写)。如下所示:
document.getElementById("foo").onclick = function () {
alert('foo'); // do your stuff
return false; // <-- to suppress the default link behaviour
};
实际上,你可能会发现自己最好使用一些好的库(我推荐jQuery有几个原因)来启动和运行,并编写干净的javascript。
跨浏览器(In)兼容性对于任何人来说都是一个很难处理的地狱--更不用说那些刚刚起步的人了。
https://stackoverflow.com/questions/249074
复制相似问题