jquery onclick 无法处理来自 .load() 函数的元素

jquery onclick not working on element from .load() function

我在一个单独的文件中有一个 PHP 片段,我正在使用 jquery:

加载到 javascript 文件中
let signUpMode = $(".modal");
  signUpMode.load("login_signup_popup.php");

之所以可行,是因为我可以在屏幕上显示它。但是,此代码段包含一个按钮,我想在加载代码段的同一 javascript 文件中单击该按钮。像这样简单的东西:

$(".signupbtn").on("click", function(){
    console.log("signed Up");
  });

但是,此点击不起作用。 signupbtn 是代码段中的 div 元素。不知何故,我错过了一个额外的步骤,因为 jquery 似乎无法识别代码段中的元素。

https://api.jquery.com/load/

您可以使用完整函数来检查它是否已加载,或者您可以将按钮函数放在里面。

  let signUpMode = $(".modal");
  signUpMode.load("login_signup_popup.php", function() {
    $(".signupbtn").on("click", function() {
      console.log("signed Up");
    });
  });

已初始化的事件处理程序无法识别延迟加载的元素。所以你必须在 parent 上设置事件。这应该有效:

$(document).on('click', '.signupbtn', function(){ 
    console.log("signed Up");
});