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

解决方案 »

  1.   

    .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");
    }
      

  2.   

    一样不行!你用什么版本的Jquery About .live()
      

  3.   

    你的方法要先注册,就是放到$();中这样才能加载 。放到ready()中也行。
      

  4.   

    一样不行!你用什么版本的Jquery About .live()这个方法已经Deprecated了,不赞成使用,性能有问题。要用就用on吧。
    况且,代码中前面的for明明append了新创建的li,所以为什么要用live呢?
      

  5.   


     $(".product_Simgs ul li").live({
            mouseenter: function () {
                alert("over");
            }
        });
      

  6.   

    live() 方法能对一个还没有添加进DOM的元素有效,是由于使用了事件委托;
    上面的说法是对的,只是没有考虑到 live支持的事件不包括 mouseover ,hover 
      

  7.   


    <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>
      

  8.   


    一样不行!
    function  test(){
       alert("over");
    }
    必须注册先