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

时间:2016-02-12 15:41:38

标签: php jquery

好的,这对我来说真的很棘手,我有两个文件a.php(其中我包括b.php)和b.php。在a.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文件中,并且所有脚本都负责与布局有关的任何事情。 / p>

1 个答案:

答案 0 :(得分:1)

首先你需要调用一个方法:

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

此外,如果这是在头部甚至在身体中,你很可能想等待页面呈现

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