doufei1852 2016-02-12 15:41
浏览 44
已采纳

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

Okay this one is really tricky for me, I've got 2 files a.php(in which I include b.php) and b.php. In a.php file I echo a variable containing navigation with some divs. In b.php file I'm holding this navigation in variable $layoutNavigation. How do I add an event listener to divs inside this $layoutNavigation? I've tried these ways:

1)I've tried to do it in a regular way:

$(".navMenuOpener").on("click", openNavMenu);

function openNavMenu()
{
    alert();
}

2)Attempt(td is container in which I echo out navigation from b.php file):

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

function openNavMenu()
{
    alert();
}

I don't want to rewrite on every .navMenuOpener element onclick attribute, since that's pretty messy, what should I try?

EDIT: I'm pretty sure that if I add event listeners in a.php file everything would work fine, but I want to keep my layout in b.php file and all scripts that are responsible for anything that has something to do with layout.

  • 写回答

1条回答 默认 最新

  • dongxi7609 2016-02-12 16:23
    关注

    First you need to call a method:

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

    Also, if this is in the head or even in the body you most likely want to wait for the page to render

    $(document).ready(function(){
        $(".navMenuOpener").on("click", openNavMenu());
        //Other code
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab