javascript - 在匹配元素上设置点击事件

标签 javascript jquery

我声明我不是 Javascript/jQuery 方面的专家,这个问题可能很微不足道。 我想为每个元素页面设置点击事件。 我写了这段代码

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

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

但是,当我启动页面时,出现错误:e 未定义。 你能帮我吗?

谢谢!

最佳答案

首先,无需迭代每个 anchor 元素。就这么做

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

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

eundefined 的原因是您没有在点击函数声明回调中传递它,并且它没有在其他地方定义。

更新

当您包含上面的函数引用时,事件对象将自动传递。这是因为浏览器自动将 event 对象作为第一个参数分配给点击处理函数。

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

关于javascript - 在匹配元素上设置点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30406677/

相关文章:

javascript - Angular 将输入限制为粘贴时的数字

javascript - React 将 props 传递给无状态功能组件

javascript - 使用 Javascript 的多线程请求

javascript - 谷歌浏览器 - 禁用捏缩放

javascript - 为什么这个 JQuery 函数只能与 post 一起使用?

JavaScript Json 解析

jQuery-UI 可选择输出数组到隐藏形式

javascript - 更改 jQuery Mobile 中翻转切换开关中的选项文本

javascript - 如何在 jQuery Mobile 中的按钮上实现通知编号?

javascript - 如何解析具有多行/结果的 JSON