jQuery事件未触发

我有这个标记。 这件作品已经通过ajax加载并附加在div中。

文件内容user-bar.php

  

我的scripts.js文件如下所示,它包含在index.php文件中,作为

 $(function(){ loadUserBar(); $('#notifications-list').live('click', function(){ console.log('Test'); $('#notifications-list .icon-comment').removeClass('new'); }); }); function loadUserBar(){ $('#user-area').load('php/user-bar.php', function(){ initBootstrapElems(); //Initializing All popover elements }); } 

index.php文件有div#user-area ,其中插入了ajax返回的标记。

加载整个页面后,当我点击list-item #notifications-list ,没有任何反应。 但是当我输入$('#notifications-list').click()直接在控制台中$('#notifications-list').click() ,会出现日志,并且确实会发生removeClass

这可能有什么问题?

你是对的,与下拉引导程序有冲突(在http://jsbin.com/ijiqec/2/edit上模拟)。

由于某种原因(不要问我为什么)改变使用live by修复问题。 使用这段代码:

$('#notifications-list').on('click',...

尝试将处理程序单击标记事件。

 $('#notifications-list a').live('click', function(){ ... }) 

更新:您不能对所有li标记使用相同的ID。 如果你在每个标签上都有li,那么你需要将li。#notifications-list更改为一个类,然后更新js:

 $('.notifications-list a').live('click', function(){ ... })