【问题标题】:JQuery on() does not fire on appended elementJQuery on() 不会在附加元素上触发
【发布时间】:2021-03-31 02:29:36
【问题描述】:

未调用附加到父元素的子元素上的事件处理程序。调用父级上的事件处理程序。

componentDidMount() {

  $(document).ready(()=> {

    $(".parent").on("click", ".child", (e) => {
      e.preventDefault();
      $(this).parent('div').doStuff();
    });

    $(".parent").click(function(e) {
      console.log("this is working");
      $(".parent").append('<div><a href="#" className="child">Do Stuff</a></div>'); 
    });

  }
}

【问题讨论】:

  • 我认为append 行末尾的随机/ 是错字?
  • 你到底为什么要结合使用 jQuery 和 React..?选择一个...$(#parent) 也是无效语法...
  • 另外,您的选择器周围缺少引号。
  • 我们正在用 JQuery 替换 React,但它的 WIP。修正错别字。
  • 您不能在页面中重复 ID。将孩子更改为班级

标签: javascript jquery reactjs ecmascript-6


【解决方案1】:

问题是我使用了className,这是 React 特定的方式来引用 HTML 元素的 class 属性。当我进行此更新时,它起作用了。

$(".parent").append('<div><a href="#" class="child">Do Stuff</a></div>');

【讨论】:

    猜你喜欢
    • 2013-09-22
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 2012-07-12
    • 2013-12-08
    • 2014-12-26
    • 1970-01-01
    相关资源
    最近更新 更多