2013-08-23 65 views
-1

添加到動態創建的元素可以被處理的事件處理程序如下所示:jQuery的處理程序 - 如何申請一個動作動態添加元素

In jQuery, how to attach events to dynamic html elements?

$('body').on('click', 'a.myclass', function() { 
    alert($(this).text()); 
}); 

但是說,我想,然後執行對動態添加的元素採取行動。

在下面$示例這段代碼運行之後被添加(「inout.wp」),S和我希望用jQuery Validator驗證他們都在處理火災:

<input type="text" name="wp_address_0" placeholder="Enter a Town, City or Postcode" id="wp_address_0" class="geocode wp"> 

<script> 
$('body').on('click', 'a.myclass', function() { 
    $('input.wp').valid(); 
}); 
</script> 

我雖然也許我可以使用.find爲此:

$('body').on('click', 'a.myclass', function() { 
    $("#waypoints").find('input.wp').valid(); 
}); 

但它沒有幫助。我怎樣才能做到這一點?

+0

讀者可以查看要驗證的新添加元素的HTML標記。根據標記和情況,有些可能需要使用'rules('add')'方法來動態添加HTML。 – Sparky

+0

@sparky - 自動化規則工作的方式不是問題,我的問題只是確定哪些元素將它們應用於*編程*。提交正在正確應用規則,但我想在目標帖子被移動時重新檢查有效性。 – gpcola

+0

我的觀點是,如果你顯示標記,這將更清晰地尋求幫助。有很多不同的方式來使用這個插件。 – Sparky

回答

0

好了,所以這是比我想象的,我應該已經意識到之前問的方式更容易...

$('body').on('click', 'a.myclass', function() { 
    $('#waypoints input.wp').valid(); 
}); 

只要 您引用了一個靜態容器,用於顯示找到的選擇器中的動態元素。

0

更換

$('body').on(

$(document).on(
+0

http://stackoverflow.com/questions/15216908/click-does-not-work-on-a-span-class-that-loaded-later/15216920#15216920 –

+0

爲了解決這個問題'body'會是綁定後添加的元素 –

相關問題