jquery动态生成的li的onmouseover等事件都不起作用,应该怎么办!

pcuser 2013-10-18 10:18:01

$(".product_Simgs ul li").remove();
for (var i = 1; i <= parseInt($(this).attr("imgnum")); i++) {
var li = "<li><span>" + i + "/" + parseInt($(this).attr("imgnum")) + "</span></li>";
$(".product_Simgs ul").append($(li));
}

$(".product_Simgs ul li").mouseover(function () {
alert("over");
});


本身的li的事件都可以运行,动态添加的都没有运行,应该怎么做让动态添加的时间也运行呢!?
...全文
880 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu273392054 2016-06-23
  • 打赏
  • 举报
回复
对于jQuery1.9版本及其以上可以使用on,其效果等同于live。下面的on的使用方法,这样应该就可以了。 $(document).on("mouseover",".product_Simgs ul li",function(){ alert("over"); })
一双-翅膀 2014-10-27
  • 打赏
  • 举报
回复
楼主,你的这个问题解决了吗?能否分享一下
邱疯子 2013-10-19
  • 打赏
  • 举报
回复
引用 4 楼 pcuser 的回复:
[quote=引用 2 楼 qiufool 的回复:] .live() 方法能对一个还没有添加进DOM的元素有效,是由于使用了事件委托:绑定在祖先元素上的事件处理函数可以对在后代上触发的事件作出回应。传递给 .live() 的事件处理函数不会绑定在元素上,而是把他作为一个特殊的事件处理函数,绑定在 DOM 树的根节点上。 .live() 虽然很有用,但由于其特殊的实现方式,所以不能简单的在任何情况下替换 .bind()。 因此建议方法是通过元素中的onmouseover进行方法执行,这样子最为安全和可靠。 $(".product_Simgs ul li").remove(); for (var i = 1; i <= parseInt($(this).attr("imgnum")); i++) { var li = "<li onmouseover='test()'><span>" + i + "/" + parseInt($(this).attr("imgnum")) + "</span></li>"; $(".product_Simgs ul").append($(li)); } $(".product_Simgs ul li").mouseover(function () { test(); }); function test(){ alert("over"); }
一样不行![/quote] function test(){ alert("over"); } 必须注册先
  • 打赏
  • 举报
回复

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(".product_Simgs ul li").on('mouseover',function () {
    alert("over");
});
</script>
lirenniao 2013-10-18
  • 打赏
  • 举报
回复
live() 方法能对一个还没有添加进DOM的元素有效,是由于使用了事件委托; 上面的说法是对的,只是没有考虑到 live支持的事件不包括 mouseover ,hover
lirenniao 2013-10-18
  • 打赏
  • 举报
回复

 $(".product_Simgs ul li").live({
        mouseenter: function () {
            alert("over");
        }
    });
l676331991 2013-10-18
  • 打赏
  • 举报
回复
引用 5 楼 no200830740203 的回复:
[quote=引用 3 楼 pcuser 的回复:] [quote=引用 1 楼 no200830740203 的回复:]

$(".product_Simgs ul li").live("mouseover", function () {
    alert("over");
});
Try it
一样不行![/quote] 你用什么版本的Jquery About .live()[/quote] 这个方法已经Deprecated了,不赞成使用,性能有问题。要用就用on吧。 况且,代码中前面的for明明append了新创建的li,所以为什么要用live呢?
别闹腰不好 2013-10-18
  • 打赏
  • 举报
回复
你的方法要先注册,就是放到$();中这样才能加载 。放到ready()中也行。
  • 打赏
  • 举报
回复
引用 3 楼 pcuser 的回复:
[quote=引用 1 楼 no200830740203 的回复:]

$(".product_Simgs ul li").live("mouseover", function () {
    alert("over");
});
Try it
一样不行![/quote] 你用什么版本的Jquery About .live()
pcuser 2013-10-18
  • 打赏
  • 举报
回复
引用 2 楼 qiufool 的回复:
.live() 方法能对一个还没有添加进DOM的元素有效,是由于使用了事件委托:绑定在祖先元素上的事件处理函数可以对在后代上触发的事件作出回应。传递给 .live() 的事件处理函数不会绑定在元素上,而是把他作为一个特殊的事件处理函数,绑定在 DOM 树的根节点上。 .live() 虽然很有用,但由于其特殊的实现方式,所以不能简单的在任何情况下替换 .bind()。 因此建议方法是通过元素中的onmouseover进行方法执行,这样子最为安全和可靠。 $(".product_Simgs ul li").remove(); for (var i = 1; i <= parseInt($(this).attr("imgnum")); i++) { var li = "<li onmouseover='test()'><span>" + i + "/" + parseInt($(this).attr("imgnum")) + "</span></li>"; $(".product_Simgs ul").append($(li)); } $(".product_Simgs ul li").mouseover(function () { test(); }); function test(){ alert("over"); }
一样不行!
pcuser 2013-10-18
  • 打赏
  • 举报
回复
引用 1 楼 no200830740203 的回复:

$(".product_Simgs ul li").live("mouseover", function () {
    alert("over");
});
Try it
一样不行!
邱疯子 2013-10-18
  • 打赏
  • 举报
回复
.live() 方法能对一个还没有添加进DOM的元素有效,是由于使用了事件委托:绑定在祖先元素上的事件处理函数可以对在后代上触发的事件作出回应。传递给 .live() 的事件处理函数不会绑定在元素上,而是把他作为一个特殊的事件处理函数,绑定在 DOM 树的根节点上。 .live() 虽然很有用,但由于其特殊的实现方式,所以不能简单的在任何情况下替换 .bind()。 因此建议方法是通过元素中的onmouseover进行方法执行,这样子最为安全和可靠。 $(".product_Simgs ul li").remove(); for (var i = 1; i <= parseInt($(this).attr("imgnum")); i++) { var li = "<li onmouseover='test()'><span>" + i + "/" + parseInt($(this).attr("imgnum")) + "</span></li>"; $(".product_Simgs ul").append($(li)); } $(".product_Simgs ul li").mouseover(function () { test(); }); function test(){ alert("over"); }
  • 打赏
  • 举报
回复 1

$(".product_Simgs ul li").live("mouseover", function () {
    alert("over");
});
Try it

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧