将事件侦听器添加到另一个文件


Adding event listener to another file

好吧,这个对我来说真的很棘手,我有 2 个文件 a.php(其中我包括 b.php)和 b.php。在一个.php文件中,我回显了一个包含带有一些div的导航的变量。 在 b.php 文件中,我在变量 $layoutNavigation 中保存此导航。如何将事件侦听器添加到此$layoutNavigation中的div?我尝试了以下方法:

1)我尝试以常规方式执行此操作:

$(".navMenuOpener").on("click", openNavMenu);
function openNavMenu()
{
    alert();
}

2)尝试(td 是我从 b.php 文件中回显导航的容器):

$("#container > table td").on("click", "nav > #navigation > #web_links > .navMenuOpener", openNavMenu);
function openNavMenu()
{
    alert();
}

我不想重写每个 .navMenuOpener 元素 onclick 属性,因为这很混乱,我应该尝试什么?

编辑:我很确定,如果我在 a.php 文件中添加事件侦听器,一切都会正常工作,但我想将我的布局保留在 b.php 文件中,以及负责与布局有关的任何内容的脚本。

首先,您需要调用一个方法:

$(".navMenuOpener").on("click", openNavMenu()); //you are missing the parentheses

此外,如果这是在头部甚至正文中,您很可能希望等待页面呈现

$(document).ready(function(){
    $(".navMenuOpener").on("click", openNavMenu());
    //Other code
});