Javascript addEventListener麻烦

时间:2013-07-12 21:23:12

标签: javascript html html5 addeventlistener

此代码是否适用于其他任何人。添加事件监听器的时间最长,但是没有用。

<head>
    <title>Page Title</title>
    <script>
    window.onload = init();

    function init() {
        svg = document.getElementsByTagName('svg');
        svg[0].addEventListener('click', mouseClick, false);
    }

    function mouseClick() {
        alert('mouseClicked');
    }
    </script>
</head>
<body>

<svg><rect x="100" y="100" width="200" height="75"/></svg>

</body>

对于我所参与的每个项目,我都必须使用另一种方法。我是否在使用“addEventListener”做错了什么?或者是什么?

2 个答案:

答案 0 :(得分:1)

init()调用该函数,除非它返回一个函数,否则这将无效。你需要做的是传递函数,而不是它的返回值:

window.onload = init;

答案 1 :(得分:1)

你的问题是:

window.onload = init();

通过包含括号,您将在该点调用该函数,因此您正在做的是将对init的调用结果分配给window.onload。 你需要:

window.onload = init;

将函数init赋值给window.onload。