无法在Click事件上调用jquery函数

时间:2013-05-10 14:44:09

标签: php javascript jquery

我有一个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,内容不同。

现在我正在尝试调用我的jquery函数,如果用户点击任何类似按钮驻留在div中。 我尝试了以下功能,但我的功能没有接到电话。请帮助我,为什么这个问题。

<script type="text/javascript">         
        $('.parent .child .likebtn').click(function(e)
        { 
            alert("function called");
        });
</script>

有一件事,div是动态创建的,如果我在我的for-each循环之后编写上面的javascript代码,那么我的函数就会被调用。在Controller中编写javascript函数并不是一个好习惯。我正在使用COdeigniter框架。 Plase帮助我,我必须在头部或身体中指定此功能

2 个答案:

答案 0 :(得分:5)

如果div是动态创建的,请将其称为

$(document).on('click', '.parent .child .likebtn', function(e)
    { 
        alert("function called");
    });

答案 1 :(得分:1)

将您的功能包装在机箱中,以确保在DOM完全加载后执行它:

$(function() {
    $('.parent .child .likebtn').click(function(e) { 
        alert("function called");
    });
});

编辑: 您是从AJAX加载此内容吗?在这种情况下,您需要使用.on()函数来确保新的dom元素获取事件,语法如下:$(document).on(events,selector,data,handler); - &GT; api.jquery.com/on

编辑2:与tymeJV相同的答案