在匹配元素上设置单击事件

时间:2015-05-22 22:21:13

标签: javascript jquery

我声明我不是Javascript / jQuery的专家,这个问题可能很简单。 我想将click事件设置为每个元素页面。 我写了这段代码

$(document).ready(function () {
    $('a').each(function (index, element) {
        $(this).click(e, getPluginDetail);
    });
});

function getPluginDetail(event) {
    event.preventDefault();
    // load details...
}

然而,当我启动页面时,我收到一个错误:e未定义。 你能救我吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

首先,不需要遍历每个锚元素。只是做

$(document).ready(function () {
    $('a').click(getPluginDetail);
});

function getPluginDetail(event) {
    event.preventDefault();
    // load details...
}

e undefined的原因是因为你没有在click函数声明回调中传递它,而且它没有在别处定义。

<强>更新

当您包含上述函数引用时,event对象将自动传递。这是因为浏览器会自动将event对象指定为点击处理函数的第一个参数。

请参阅http://javascript.info/tutorial/obtaining-event-object

答案 1 :(得分:0)

您不需要迭代ie each来绑定事件,只需将函数引用传递给绑定事件。

$(document).ready(function () {
    $('a').click(getPluginDetail);
});