jQuery-Click()不';单击a<;李>;在一个<;ul>;
尝试单击动态生成的列表中的项目,但是jQuery-Click()不';单击a<;李>;在一个<;ul>;,jquery,Jquery,尝试单击动态生成的列表中的项目,但是$.click()函数无法启动 列表的HTML: <div> <ul id="site_list"> </ul> </div> 尝试“打开”而不是“单击” $('li').on('click', function(){ $(this).toggleClass('site_selected') } ); 动态添加li时,需要将事件处理程序委托给li 注 的委托事件结构如下所示: $(container
$.click()
函数无法启动
列表的HTML:
<div>
<ul id="site_list"> </ul>
</div>
尝试“打开”而不是“单击”
$('li').on('click', function(){ $(this).toggleClass('site_selected') } );
动态添加li
时,需要将事件处理程序委托给li
注 的委托事件结构如下所示:
$(container).on(eventName, target, handlerFunction)
这里
容器
指向一个静态元素
,该元素包含目标
元素,在页面加载时属于DOM。上面的代码看起来不错。我刚刚处理了同样的问题,代码悖论一针见血。输入是动态加载的,因此如果我们在$(document).ready(function(){…})存在之前将该代码放在$(document).ready(function(){…})中,它将无法工作
只要把这个密码
$('li').click(function(){
$(this).toggleClass("site_selected");
});
在同一个函数中动态生成列表后(不是在doc ready函数中)。如果在初始化元素之前创建了on-click函数,则不能使用
采用另一种方式可能有好处:
$('#site_list').on('click', 'li', function(){
但是,它对我来说非常有用…wahoo!就这样了…谢谢!还有一个问题,那么:当我点击一个新的类时,我如何从列表中的每一个“li”中删除“site_selected”类?(所以一次只有一个“li”拥有该类?)你是我的超级英雄!思考这个问题时,我的头冒烟了。谢谢。阅读。这不会有帮助,因为.click()方法是精确显示所显示内容的快捷方式。(你可以用.on()解决问题,但不是那样。)
$(container).on(eventName, target, handlerFunction)
$('li').click(function(){
$(this).toggleClass("site_selected");
});
$('#site_list').on('click', 'li', function(){