jQuery onclick无法在动态插入的HTML元素上触发吗?

浮点数

我的onclick事件有效。但是,当该onclick事件在动态HTML上时,它将不再起作用。如:没有任何反应。

$(document).ready(function () {
    $("#guestlist .viewguestdetails").click(function () {        
        $(".guestdetails[data-id='18']").toggle();
    });
});

然后,我将该HTML动态添加到页面中:

<div id="guestlist">    
    <span class="completeguestdetails" data-id="18">(add your data)</span>  
        <div class="guestdetails" data-id="18" style="display: none;">
            some data
        </div>
</div>

但是,当我单击“(添加您的数据)”时,没有任何反应。当我的页面中静态包含HTML时,“ guestdetails” div的这种切换确实有效。似乎没有事件附加到动态插入的HTML?

更新:

我在现有表中插入ia行的新动态HTML。其他行已经具有附加到onclick事件的事件,例如:

$("span.guestattendance").click(function () {
    if ($(this).hasClass('checkbox-on')) {
        $(this).removeClass('checkbox-on').addClass('checkbox-off');
        $("#guestday").removeClass('checkbox-on').addClass('checkbox-off');
    }
    else {
        $(this).removeClass('checkbox-off').addClass('checkbox-on');            
        if ($("#guestceremony").hasClass('checkbox-on') && $("#guestreception").hasClass('checkbox-on') &&
        $("#guestdiner").hasClass('checkbox-on') && $("#guestparty").hasClass('checkbox-on')) {
            $("#guestday").removeClass('checkbox-off').addClass('checkbox-on');
        }
    }
});

由于用户可以插入多于1行,因此我没有使用id,而是在要插入的元素周围添加了包装器:

然后在ready()函数中:

$('.newrow_wrapper').on('click', 'span', function () {
    $(".guestdetails[data-id='" + $(this).attr('data-id') + "']").toggle();
});

但是,第一个问题是,当我将div包裹在tr标记周围时,所有tr和td标记显然都从插入的HTML中删除了!另外,当我单击跨度查看guestdetails时,什么也没有发生。

下划线

做这个:

 $( '#wrapper' ).on( 'click', 'a', function () { ... });

其中#wrapper是静态元素,您可以在其中添加动态链接。

因此,您有一个包装器,该包装器被硬编码到HTML源代码中:

<div id="wrapper"></div>

然后用动态内容填充它。想法是将事件委托给该包装器,而不是直接在动态元素上绑定处理程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery onclick无法在动态插入的HTML元素上触发吗?

来自分类Dev

jQuery Tooltip事件未在动态创建的元素上触发

来自分类Dev

jQuery在模糊/聚焦上不触发动态添加的元素

来自分类Dev

jQuery Tooltip事件未在动态创建的元素上触发

来自分类Dev

jQuery在模糊/聚焦上不触发动态添加的元素

来自分类Dev

jQuery:在动态添加的HTML上触发点击事件

来自分类Dev

无法在拖放元素jquery上触发click事件

来自分类Dev

动态添加元素上的jQuery UI droppable吗?

来自分类Dev

动态添加元素上的jQuery UI droppable吗?

来自分类Dev

jQuery .click()在不存在的html元素上触发事件

来自分类Dev

不存在的html元素上的jQuery .click()触发事件

来自分类Dev

在jQuery中使用动态元素触发事件

来自分类Dev

无法使用jQuery插入HTML

来自分类Dev

在动态附加的`<li>`上触发jQuery函数

来自分类Dev

在动态内容上触发jQuery datetimepicker

来自分类Dev

jQuery click事件未触发使用jQuery动态创建的元素

来自分类Dev

在动态插入的输入上设置 jquery 掩码?

来自分类Dev

在 ajax 响应元素上触发 JQuery 事件

来自分类Dev

无法使用jQuery在Chrome中访问动态创建的音频元素onClick

来自分类Dev

无法附加html元素jquery

来自分类Dev

jQuery无法获取html元素

来自分类Dev

无法在使用PHP生成的动态锚上触发jQuery.ajax()

来自分类Dev

在动态插入的文本字符串上触发jQuery

来自分类Dev

jQuery:无法删除动态创建的元素

来自分类Dev

jQuery-无法删除动态创建的元素

来自分类Dev

js/jquery 无法获取动态添加的元素

来自分类Dev

动态添加元素上的jQuery CSS()

来自分类Dev

动态添加元素上的jQuery CSS()

来自分类Dev

jQuery find() & each() 在动态元素上

Related 相关文章

  1. 1

    jQuery onclick无法在动态插入的HTML元素上触发吗?

  2. 2

    jQuery Tooltip事件未在动态创建的元素上触发

  3. 3

    jQuery在模糊/聚焦上不触发动态添加的元素

  4. 4

    jQuery Tooltip事件未在动态创建的元素上触发

  5. 5

    jQuery在模糊/聚焦上不触发动态添加的元素

  6. 6

    jQuery:在动态添加的HTML上触发点击事件

  7. 7

    无法在拖放元素jquery上触发click事件

  8. 8

    动态添加元素上的jQuery UI droppable吗?

  9. 9

    动态添加元素上的jQuery UI droppable吗?

  10. 10

    jQuery .click()在不存在的html元素上触发事件

  11. 11

    不存在的html元素上的jQuery .click()触发事件

  12. 12

    在jQuery中使用动态元素触发事件

  13. 13

    无法使用jQuery插入HTML

  14. 14

    在动态附加的`<li>`上触发jQuery函数

  15. 15

    在动态内容上触发jQuery datetimepicker

  16. 16

    jQuery click事件未触发使用jQuery动态创建的元素

  17. 17

    在动态插入的输入上设置 jquery 掩码?

  18. 18

    在 ajax 响应元素上触发 JQuery 事件

  19. 19

    无法使用jQuery在Chrome中访问动态创建的音频元素onClick

  20. 20

    无法附加html元素jquery

  21. 21

    jQuery无法获取html元素

  22. 22

    无法在使用PHP生成的动态锚上触发jQuery.ajax()

  23. 23

    在动态插入的文本字符串上触发jQuery

  24. 24

    jQuery:无法删除动态创建的元素

  25. 25

    jQuery-无法删除动态创建的元素

  26. 26

    js/jquery 无法获取动态添加的元素

  27. 27

    动态添加元素上的jQuery CSS()

  28. 28

    动态添加元素上的jQuery CSS()

  29. 29

    jQuery find() & each() 在动态元素上

热门标签

归档