对现场方法感到困惑

时间:2016-10-04 09:18:25

标签: jquery

我正在网上找到jquery教程,我发现了一个关于如何使用live方法的简单代码。我认为live方法已被弃用,所以改变了下面这样的代码但是不能正常工作我做错了什么。谢谢预先

$(function () {
     $("p").on("click", function () {
          click: function () {
             $(this).after("<p>click</p>");
          },
          mouseover: function () {
             $(this).addClass("deneme");
          },
          mouseout: function () {
             $(this).removeClass("deneme");
          }
     });
});

2 个答案:

答案 0 :(得分:4)

  1. 您必须将.on绑定到静态元素,而不是动态元素。
  2. 正常使用call OR 作为对象(每个事件都是分开的。)
  3. $(function() {
      $(document).on({
        click: function() {
          $(this).after("<p>click</p>");
    
        },
        mouseover: function() {
          $(this).addClass("deneme");
    
        },
        mouseout: function() {
          $(this).removeClass("deneme");
        }
    
      }, 'p');
    });
    .deneme {
      color: red;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <p>ACTION!</p>

答案 1 :(得分:0)

我认为您正在尝试将on与同一元素上的多个事件一起使用,然后删除"click", function ()并尝试使用,

$(function () {
     $("p").on({
          click: function () {
             $(this).after("<p>click</p>");
          },
          mouseover: function () {
             $(this).addClass("deneme");
          },
          mouseout: function () {
             $(this).removeClass("deneme");
          }
     });
});