尝试单击动态生成的列表中的项目,但该$.click()函数不会触发.
列表的HTML:
<div>
<ul id="site_list"> </ul>
</div>
Run Code Online (Sandbox Code Playgroud)
jQuery生成列表(按预期工作,生成具有所需类属性的长数据列表):
var sites =[];
$.getJSON("php/ABC.php", function(result){
$.each(result.Sites, function(i,v){
sites.push('<li class="site" id="site_'+ ABC + '</li>');
});
$('#site_list').append(sites.join(''));
});
Run Code Online (Sandbox Code Playgroud)
单击列表时触发jQuery(不起作用......它不会抛出错误......只是没有响应.我已经尝试$('#site')过,无济于事.我怀疑这是由于我的方法'用于生成<ul>...的东西阻止DOM正确识别UL内的每个元素:
$('li').click(function(){
$(this).toggleClass("site_selected");
});
Run Code Online (Sandbox Code Playgroud)
the*_*dox 10
$('#site_list').on('click', 'li', function(){
$(this).toggleClass("site_selected");
});
Run Code Online (Sandbox Code Playgroud)
当你li动态添加时,你需要委托事件处理程序li.
委托事件结构.on()如下:
$(container).on(eventName, target, handlerFunction)
Run Code Online (Sandbox Code Playgroud)
这里container指向Static-element包含target元素并且在页面加载时属于DOM的.
| 归档时间: |
|
| 查看次数: |
5018 次 |
| 最近记录: |