Jquery 单击动态生成的
大家好,我正在生成我的ul和li,如下所示,并希望触发点击事件,但委派,onand click方法不工作,仅live工作正常,但live是不推荐的功能,所以是否有任何其他方法,我可以使用帮助我请/ 这里loadpage是我的html代码中的divJquery 单击动态生成的,jquery,html,list,dynamic,click,Jquery,Html,List,Dynamic,Click,大家好,我正在生成我的ul和li,如下所示,并希望触发点击事件,但委派,onand click方法不工作,仅live工作正常,但live是不推荐的功能,所以是否有任何其他方法,我可以使用帮助我请/ 这里loadpage是我的html代码中的div <script type="text/javascript"> $(document).ready(function() { $('#LoadPage').append('<ul class="
<script type="text/javascript">
$(document).ready(function() {
$('#LoadPage').append('<ul class="testul" id="list">');
for (var i = 1; i < 5; i++) {
$('#list').append('<li class="clicks" id="item'+i+'"></li>');
}
$('#LoadPage').append('</ul>');
});
// click event works wtih .live() onlyyy.......................
$('.clicks').live('click', function() {
alert('hello');
});
/*$(".clicks").on("click", function(){
alert('hello');
});
$("#testul").delegate("li", "click", function() {
alert('hello');
});
$("#testul").delegate("li", "click", function() {
alert('hello');
});*/
</script>
嗯
我试了一下,效果很好
试试看
我试了一下,效果很好
请尝试,您的选择器应该与文档匹配,因为文档实际上存在。然后,您将为将存在的单击传递选择器。通过最初匹配.clicks,您的结果集为空,不会发生任何事情
$(document).on("click", ".clicks", function(){
alert('hello');
});
live文档讨论了如何转换使用它在上使用或委派的代码:。您的选择器应该与文档匹配,因为文档实际上存在。然后,您将为将存在的单击传递选择器。通过最初匹配.clicks,您的结果集为空,不会发生任何事情
$(document).on("click", ".clicks", function(){
alert('hello');
});
live文档讨论了如何转换使用它的代码以在上使用或委托:。方法委托和单击不起作用,因为您尚未加载html。尝试在加载li元素后定义它
<script type="text/javascript">
$(document).ready(function() {
$('#LoadPage').append('<ul class="testul" id="list">');
for (var i = 1; i < 5; i++) {
$('#list').append('<li class="clicks" id="item'+i+'"></li>');
}
$('#LoadPage').append('</ul>');
$('.clicks').click(function() {
alert('hello');
});
});
</script>
方法委托、On和click不起作用,因为您尚未加载html。尝试在加载li元素后定义它
<script type="text/javascript">
$(document).ready(function() {
$('#LoadPage').append('<ul class="testul" id="list">');
for (var i = 1; i < 5; i++) {
$('#list').append('<li class="clicks" id="item'+i+'"></li>');
}
$('#LoadPage').append('</ul>');
$('.clicks').click(function() {
alert('hello');
});
});
</script>
把这个换成
$(document).ready(function() {
$('#LoadPage').append('<ul class="testul" id="list">');
for (var i = 1; i < 5; i++) {
$('#list').append('<li class="clicks" id="item'+i+'"></li>');
}
$('#LoadPage').append('</ul>');
// click event works wtih .live() onlyyy.......................
$('.clicks').click(function() {
alert('hello');
});
});
以前,这些项不存在于DOM中,插入DOM后,它可以具有任何功能
把这个换成
$(document).ready(function() {
$('#LoadPage').append('<ul class="testul" id="list">');
for (var i = 1; i < 5; i++) {
$('#list').append('<li class="clicks" id="item'+i+'"></li>');
}
$('#LoadPage').append('</ul>');
// click event works wtih .live() onlyyy.......................
$('.clicks').click(function() {
alert('hello');
});
});
以前,这些项不存在于DOM中,插入DOM后,它可以具有任何功能。从jQuery 1.7开始,.live方法已被弃用 您使用的jQuery版本是什么?在1.7版中添加了,请查看文档 如果包含正确版本的jQuery,它应该可以正常工作
从jQuery 1.7开始,请尝试此方法,.live方法已被弃用 您使用的jQuery版本是什么?在1.7版中添加了,请查看文档 如果包含正确版本的jQuery,它应该可以正常工作
关于代理,请尝试此方法为什么您应该尝试使用绑定方法?因为简单单击不起作用为什么您应该尝试使用绑定方法?因为简单单击不起作用正如我提到的,即使在循环之外,也可以正常工作;但感谢我得到了新的东西来学习,即使我必须对循环中的所有元素使用click事件…:如我所提到的,即使在循环之外,现场工作也很好;但谢谢,我学到了新东西,即使我必须对循环中的所有元素使用click事件…:您的控制台中有错误吗?因为on应该可以正常工作。您的控制台中有错误吗?因为你的工作应该很好