单击jquery不适用于动态添加的项目

时间:2018-06-15 17:30:16

标签: javascript jquery

我正在动态添加一些代码(包括js代码!)。

<div class="r"></div>
<script>
    //Here is code that dinamiccaly add another div into div.r
    //Example:
    //<div class="w"><img src="a.png"><div class="i">Some Text</div></div>
    $('.r').on('click', $('.w'), function (e) {
        console.log($(this).children($('.i')).text());
    });
</script>

这个点击事件在我点击div.w并且返回所有div.w的文本并在一个没有空格的字符串中组合的问题(sometext1sometext2)。

抱歉,如果我写错了。我的英语不好。

2 个答案:

答案 0 :(得分:3)

事件委托是错误的。您正在使用jQuery集合

$('.r').on('click', $('.w'), function (e) {
                    ^^^^^^^

它应该只是一个选择器

$('.r').on('click', '.w', function (e) {
                    ^^^^

答案 1 :(得分:1)

选择器必须是string类型。请看以下内容:

$('.r').on('click', '.w', function (e) { 

来自documentation of on