In diesem Artikel wird die Lösung vorgestellt, dass dynamisch hinzugefügte js/jq-Elemente keine Bindungsereignisse auslösen können. Wenn die jquery-Version zwischen 1.3 und 1.8 liegt, können die dynamisch hinzugefügten js/jq-Elemente Bindungsereignisse auslösen.
Bitte schauen Sie sich Ihre Version an und beachten Sie:
jquery1.6 und niedriger unterstützen keine Delegiertenereignisse
jquery1 .3 Live-Delegiertenereignisse werden bis zur jQuery1.8-Version
unterstützt. jquery1.9 und spätere Versionen unterstützen keine Live-Delegiertenereignisse, aber das On-Ereignis kann Live
jquery1.3 und niedriger ersetzen (ausgenommen jquery1.3) ist es an der Zeit, Ihre jquery-Version zu aktualisieren. Weil Es gibt keine Lösung, keine Lösung, keine Lösung, keine Lösung, keine Lösung, keine Lösung
Wenn die JQuery-Version zwischen 1.3 und 1.8 liegt, wird das Element dynamisch von js/jq hinzugefügt löst die Lösung für die Bindungsereignismethode aus (es wird nicht empfohlen, das Ereignis „on“ zu verwenden, da das Ereignis „on“ unter Version 1.6 nicht unterstützt wird und ein Fehler gemeldet wird)
click例子 $('element').live('click',function(){}) element可以是动态生成的元素,可以是它的类或者id
Wenn die JQuery-Version 1.9 ist oder höher, wird das Live-Delegat-Ereignis entfernt und bei Ausführung ausgeführt. Lösung für dynamisch hinzugefügte Elemente in js/jq, um Bindungsereignisse auszulösen
Hinweis : Wenn die Seite sowohl eine niedrige Version von jq (1.3-1.8) als auch eine hohe Version von hat jq (jquery 1.9 oder höher), das Live-Delegat-Ereignis wird von höheren Versionen entfernt. Obwohl die jquery-Version zwischen 1.3 und 1.8 liegt, meldet die Seite letztendlich einen Fehler, wenn das Live-Ereignis verwendet wird.
click例子 $('父元素').on('click', '子元素', function(){})
Das zu diesem Zeitpunkt dynamisch geladene Element muss sich innerhalb von $('parent element') befinden, andernfalls schlägt das Bindungsereignis fehl. Mit anderen Worten, das A-Element sollte gebunden sein, aber das A-Element wird dynamisch generiert, sodass jq das übergeordnete Element des A-Elements abrufen sollte, um zu überwachen, ob ein Klickereignis auf dem A-Element auftritt.
Zum Beispiel
<!DOCTYPE html> <html> <head> <title>js/jq 动态添加的元素不能触发绑定事件解决方案</title> </head> <script src="https://cdn.bootcss.com/jquery/1.9.0/jquery.js"></script><body> <button>添加a标签</button> <p class="a-Box"> <a href="javascript:;" class="alt">My name is</a><br> </p> </body> </html> <script type="text/javascript"> $('.a-Box').on('click', 'a', function(){ alert('Jachin'); }) $('button').click(function(){ $('p').append('<a href="javascript:;" class="alt">My name is</a><br>'); }) </script>
Damit kann das Problem, dass dynamisch geladene Elemente nicht überwacht werden können, perfekt gelöst werden.
Schließlich angehängt ist eine Version von jquery
<script src="https://cdn.bootcss.com/jquery/1.2.3/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/1.2.6/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/1.3.0/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/1.4.0/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/1.5.1/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/1.6.1/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/1.7/jquery.min.js"></script> <script src="https://cdn.bootcss.com/jquery/1.8.0/jquery-1.8.0.js"></script> <script src="https://cdn.bootcss.com/jquery/1.9.0/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/1.10.0/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/1.11.0/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/1.12.0/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/2.0.0/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/2.1.0/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/2.2.0/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/3.0.0/jquery.js"></script> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>Nach dem Login kopierenDas obige ist der detaillierte Inhalt vonLösung des Problems, dass von js/jq dynamisch geladene Elemente nicht überwacht werden können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!