问题描述
|
在我的网站运行期间,我使用jquery类“ a”创建了新的div。我为\“ a \”类定义了click()函数,如下所示:
$(document).ready(function() {
$(\".a\").click(function(){
$(\".a\").hide();
});
});
问题是单击同一类时创建的新div不会调用此函数。开头有\ a类的其他div会执行。我究竟做错了什么?
解决方法
$(document).delegate(\'.a\',\'click\',function() {
$(this).hide();
});
, 尝试使用.live()
函数,该函数也应适用于与选择器匹配的新插入的DOM元素:
$(document).ready(function() {
$(\".a\").live(\'click\',function(){
$(\".a\").hide();
});
});
, 这也可能起作用。
(function($) {
$(document).ready(function () {
$(\'body\').on(\'click\',\'.a\',function() {
$(this).hide();
});
});
}( jQuery ));
.on()将事件附加到既存在又不存在的控件。
, 使用“实时”方法。
http://api.jquery.com/live/