[英]How to call a jQuery function on click event in the following scenario?
[英]unable to call jquery function on Click event
我有一个div,我在其中运行for循环。 这是根据字段中的行数创建以下div的。
<div class="parent">
<p style=" font-family: Times New Roman;color:#a0a0a0; ">
Content 1 goes here.........
</p>
<div class="child">
<span> <a class="likebtn">Like</a> </span>1 people like this
</div>
<hr/>
</div>
上面显示的div处于for-each循环中,即创建多个像这样的div,但内容不同。
现在,如果用户单击位于div中的任何类似按钮,则尝试调用jquery函数。 我尝试了下面的函数,但是我的函数没有被调用。 请帮助我,为什么要解决这个问题。
<script type="text/javascript">
$('.parent .child .likebtn').click(function(e)
{
alert("function called");
});
</script>
一件事是,div是动态创建的,如果我在for-each循环后立即编写上述javascript代码,则会调用我的函数。 在Controller中编写javascript函数不是一个好习惯。 我正在使用COdeigniter框架。 请帮助我,我必须在头部或身体上指定此功能
如果div是动态创建的,则称呼它们为
$(document).on('click', '.parent .child .likebtn', function(e)
{
alert("function called");
});
将函数包装在外壳中,以确保在DOM完全加载后执行该函数,如下所示:
$(function() {
$('.parent .child .likebtn').click(function(e) {
alert("function called");
});
});
编辑:您是否正在从AJAX加载此内容? 在这种情况下,您需要使用.on()函数来确保新的dom元素获取事件,语法类似于:$(document).on(事件,选择器,数据,处理程序); -> api.jquery.com/on
编辑2:与tymeJV相同的答案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.