Heim > Artikel > Backend-Entwicklung > javascript – Problem beim asynchronen Laden von Ajax, Ereignisauslösung
Ajax lädt einige Seiten (Zielseite) asynchron. Ich möchte eine Onclick-Funktion für die Schaltfläche festlegen, aber ich finde, dass sie immer 无法进行触发
Logik: Front-End-JQueryload()
(ajax asynchron) lädt die Seite, BTN wird auf der Zielseite platziert
Der Pseudocode lautet wie folgt: (Der Code ist ziemlich ausführlich, daher habe ich ihn durch Pseudocode ersetzt)
ajax.js:
<code class="javascript">$(function(){ $(xxx).load(target-page); function a(){codes} setTimeout(function(){ $(btn).click(a); // 用奇葩方法settimeout解决 }, 0); });</code>
Kann jemand helfen, die Prinzipien und richtigen Lösungen zu erklären??
Ich persönlich denke, das Problem besteht darin, dass das asynchrone Laden ausgelöst wird, nachdem der grundlegende JS-Inhalt (Variablen-/Funktionsdeklaration) geladen wurde, was dann zu Problemen führt, wie zum Beispiel, dass Elemente nicht abgerufen werden können
Ajax lädt einige Seiten (Zielseite) asynchron. Ich möchte eine Onclick-Funktion für die Schaltfläche festlegen, aber ich finde, dass sie immer 无法进行触发
Logik: Front-End-JQueryload()
(ajax asynchron) lädt die Seite, BTN wird auf der Zielseite platziert
Der Pseudocode lautet wie folgt: (Der Code ist ziemlich ausführlich, daher habe ich ihn durch Pseudocode ersetzt)
ajax.js:
<code class="javascript">$(function(){ $(xxx).load(target-page); function a(){codes} setTimeout(function(){ $(btn).click(a); // 用奇葩方法settimeout解决 }, 0); });</code>
Kann jemand helfen, die Prinzipien und richtigen Lösungen zu erklären??
Ich persönlich denke, das Problem besteht darin, dass das asynchrone Laden ausgelöst wird, nachdem der grundlegende JS-Inhalt (Variablen-/Funktionsdeklaration) geladen wurde, was später zu Problemen führt, z. B. dass Elemente nicht abgerufen werden können
Werfen wir einen Blick auf die Dokumentation: http://api.jquery.com/load/
Außerdem ist target-page
keine Variable. Was ist das hier?
Referenzcode
<code class="javascript">// 第二个参数是 data,没有直接给 null,或者 {} // 看文档中的例子,也可以省略掉,直接给 callback 作为第二个参数 $(xxx).load(url, function() { // do callback here });</code>