繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM