我有这个标记。 这件作品已经通过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
。
这可能有什么问题?
你是对的,与下拉引导程序有冲突(在https://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(){ ... })
以上就是jQuery教程分享jQuery事件未触发相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/541560.html