这可能是一个非常愚蠢的问题,但我现在很绝望.我正在尝试通过单击这样的锚来执行javascript函数:
<head>
<script type="text/javascript">
function myFunction() {
alert('It was clicked');
}
Anchor.addEventListener('click', myFunction, false);
</script>
</head>
…
<a href="#" id="Anchor">Click me</a>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
但是,这很好用:
<a href="javascript:myFunction()" id="Anchor">Click me</a>
Run Code Online (Sandbox Code Playgroud)
即使这样做:
<a href="#" onclick="myFunction()" id="Anchor">Click me</a>
Run Code Online (Sandbox Code Playgroud)
什么是正确的方法?我究竟做错了什么?比如这里的jsfiddle.
额外信息:
我已经使用相同的方法设置了其他事件,但不知何故,锚是唯一不起作用的.例:
<script type="text/javascript">
function aFunction() {
AnElement.style.display = 'none';
}
window.addEventListener('load', aFunction, false);
</script>
Run Code Online (Sandbox Code Playgroud)
窗口加载完成后,元素完全隐藏.
问题是你将脚本放在HEAD部分上.Anchor脚本执行时不存在,因此你得到了Anchor is not defined.
试试这个将脚本放在html定义之后的修改版本.
<a href="#" id="Anchor">Click me</a>
<script>
function myFunction() {
alert('It was clicked');
}
Anchor.addEventListener('click', myFunction, false);
</script>
Run Code Online (Sandbox Code Playgroud)
小智 5
你应该在页面加载事件之后添加你的绑定,并使用 getElementById。
function myFunction() {
alert('It was clicked');
}
window.onload = function () {
document.getElementById('Anchor').addEventListener('click', myFunction, false);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7358 次 |
| 最近记录: |