Heim  >  Artikel  >  Web-Frontend  >  So gehen Sie mit der Unfähigkeit um, Bindungsereignisse auszulösen, wenn jQuery dynamisch Elemente hinzufügt

So gehen Sie mit der Unfähigkeit um, Bindungsereignisse auszulösen, wenn jQuery dynamisch Elemente hinzufügt

php中世界最好的语言
php中世界最好的语言Original
2018-04-23 15:56:341783Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie mit der Unfähigkeit umgehen, das -Bindungsereignis auszulösen, wenn jQuery dynamisch Elemente hinzufügt Bindungsereignis, wenn jQuery dynamisch Elemente hinzufügt. Das Folgende ist ein praktischer Fall, schauen wir uns das an. Ich bin kürzlich auf ein Problem gestoßen. Nachdem ich JQuery zum dynamischen Hinzufügen von Elementen verwendet hatte, stellte ich fest, dass die dynamisch hinzugefügten Elemente keine Ereignisse auslösen konnten. Später habe ich einige Informationen im Internet überprüft und festgestellt, dass dies folgendermaßen gehandhabt werden sollte:

Lassen Sie mich zunächst den Code zeigen, der den Fehler verursacht hat:

Das werde ich tun Gib dir meine Lösung
<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="external nofollow" >
  <script src="//cdn.bootcss.com/jquery/1.8.3/jquery.min.js"></script>
  <script>
    $(document).ready(function(){
//这里是动态添加元素
      $(".add").click(function(){
        var btn = $("<button class=&#39;newBtn btn btn-default&#39;>新按钮</button>");
        $("body").append(btn);
      })<br><br>//这里是为添加的元素添加事件
      $(".newBtn").click(function(){
        alert("这里是新添加的元素触发的事件");
      })
    })
  </script>
</head>
<body>
<button class=" add btn btn-default">添加按钮</button>
</body>
</html>

Methode 1: Live-Ereignisse binden (Live-Ereignisse werden nur unter jquery1.9 unterstützt, nicht von höheren Versionen).

$(".newBtn").live("click",function(){
///jquery 1.9(不包括1.9)以下可以
  alert('这里是动态元素添加的事件');
})
Methode 2: On()-Ereignisbindung verwenden

($(ParentEle).on("click",".thisEle",function(){})

$("body").on("click", ".newBtn", function() {
   alert('这里是动态元素添加的事件');
});
//这里的ParentEle是 thisEle的父辈元素或者祖先元素,ParentEle可以是document,也可以是body等。
//注意:如果此时调用的函数是外部定义好的函数,那在调用的时候不要加(),不然会跳过点击事件直接触发函数
Ich glaube, Sie haben den Fall gelesen Dieser Artikel Nachdem Sie die Methode beherrscht haben, achten Sie bitte auf andere verwandte Artikel auf der chinesischen PHP-Website, um weitere spannende Inhalte zu erhalten!
$("body").on("click", ".newBtn",aa );
function aa(){
    alert('这里是动态元素添加的事件');
}

Empfohlene Lektüre:

Was sind die Vorsichtsmaßnahmen für ein Upgrade der jQuery-Version?


Detaillierte Erläuterung der Schritte zur Paketierung des jQuery-Plug-ins

Das obige ist der detaillierte Inhalt vonSo gehen Sie mit der Unfähigkeit um, Bindungsereignisse auszulösen, wenn jQuery dynamisch Elemente hinzufügt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn