從動態產生的元素捕獲事件
您遇到了一個問題,即模態DIV 中動態生成的元素觸發的事件未被捕獲由您現有的事件處理程序捕獲。這個問題的出現是由於這些元素的動態特性,這些元素是在事件處理程序綁定後添加的。
為了解決這個問題,jQuery 提供了兩種方法:.on 和 .delegate(適用於 1.7 之前的 jQuery 版本) )。這些方法允許您將事件委託給綁定處理程序時存在的靜態祖先元素。在這種情況下,模態 DIV 充當靜態祖先。
透過使用 .on 或 .delegate,您可以確保事件冒泡到祖先元素並觸發事件處理程序,即使對於內部動態產生的元素也是如此。它。以下是使用.on 方法的更新程式碼:
$('#modal').on('keyup', 'input', function() { handler = $(this).val(); name = $(this).attr('name'); });
或者,對於1.7 之前的jQuery 版本,您可以使用.delegate 方法,如下所示:
$('#modal').delegate('input', 'keyup', function() { handler = $(this).val(); name = $(this).attr('name'); });
透過實作此解決方案,您可以有效地擷取和處理模態DIV 內動態產生的元素觸發的事件,確保使用者的輸入被記錄為預期。
以上是如何從模態中動態產生的元素捕捉事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!