jquery 监听动态创建的元素上的点击事件

t411创建

我需要为 html 页面创建一个模态。单击页面上的按钮时,会显示模态。关闭模态的按钮包含在模态本身中。

问题是关闭按钮上的单击事件(用于从文档中删除模态 html)不起作用。但是,console.log分配给同一事件显示在控制台中。为什么会发生这种情况以及如何解决它?

笔:https : //codepen.io/t411tocreate/pen/prZRYN

JS代码:

$(document).ready(function(){
  $('#showModal').on('click', function() {
    $('.container').append(modalHtml)
  })

  $(document).on('click','#closeModal',function(){
    console.log('click triggered')
    $(document).remove('#modal')
 })

  var modalHtml = '<div id="modal"> <div class="modal-bg"></div><div class="modal-content"> <p>this is a modal</p><span id="closeModal">close</span> </div></div>'
})
库库兹

remove()直接在元素上调用- 使用$('#modal').remove()- 请参阅下面的演示:

$(document).ready(function() {
  $('#showModal').on('click', function() {
    $('.container').append(modalHtml)
  })

  $(document).on('click', '#closeModal', function() {
    $('#modal').remove();
  })

  var modalHtml = '<div id="modal"> <div class="modal-bg"></div><div class="modal-content"> <p>this is a modal</p><span id="closeModal">close</span> </div></div>'
})
#showModal {
  margin: 50px 40%;
  font-size: 50px;
}

#modal {
  display: block;
}

#modal .modal-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

#modal .modal-bg:before {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(43, 43, 43, 0.5);
}

#modal .modal-content {
  width: 50%;
  margin: 20px auto;
  position: relative;
  background: black;
  color: #fff;
  padding: 20px;
}

#modal .modal-content #closeModal {
  padding: 10px;
  margin: 10px;
  border: 1px solid #fff;
}

#modal .modal-content #closeModal:hover {
  cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
  <button id="showModal"> Show modal</button>
</div>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

jQuery不监听动态生成元素的点击

来自分类Dev

有没有办法将 jQuery 应用于动态创建的元素?(不是事件监听器)

来自分类Dev

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

来自分类Dev

在 javascript 动态创建的元素上使用 jquery

来自分类Dev

jQuery在渲染元素后停止监听点击

来自分类Dev

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

来自分类Dev

如何在jQuery插入的元素上发生“点击”事件?

来自分类Dev

如何在jquery插入的元素上发生“点击”事件?

来自分类Dev

jQuery:在动态创建的输入字段上的输入事件上

来自分类Dev

在点击事件上扩展jQuery

来自分类Dev

动态生成元素上的jquery click事件

来自分类Dev

jquery 使动态元素的父元素可点击

来自分类Dev

如何使用jQuery为动态附加的元素添加点击事件?

来自分类Dev

使用jQuery在动态元素(DIV)上自动触发点击事件

来自分类Dev

如何使用jQuery为动态附加的元素添加点击事件?

来自分类Dev

在动态创建的元素jQuery上启用可拖放

来自分类Dev

jQuery-将鼠标移动到动态创建的元素上

来自分类Dev

禁用动态创建的元素 jQuery 上的复选框

来自分类Dev

动态元素并监听它们上的事件

来自分类Dev

jQuery点击事件定位到多个元素

来自分类Dev

JQuery 点击事件触发了错误的元素?

来自分类Dev

在jQuery插件中创建点击事件

来自分类Dev

jQuery:$(element).on(“ click”,...创建多个点击事件?

来自分类Dev

jQuery remove()动态创建的元素

来自分类Dev

jQuery动态调用事件监听器

来自分类Dev

点击jquery上的事件不起作用

来自分类Dev

如何将点击事件附加到我的jQuery插件中的元素上?

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

    jQuery不监听动态生成元素的点击

  4. 4

    有没有办法将 jQuery 应用于动态创建的元素?(不是事件监听器)

  5. 5

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

  6. 6

    在 javascript 动态创建的元素上使用 jquery

  7. 7

    jQuery在渲染元素后停止监听点击

  8. 8

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

  9. 9

    如何在jQuery插入的元素上发生“点击”事件?

  10. 10

    如何在jquery插入的元素上发生“点击”事件?

  11. 11

    jQuery:在动态创建的输入字段上的输入事件上

  12. 12

    在点击事件上扩展jQuery

  13. 13

    动态生成元素上的jquery click事件

  14. 14

    jquery 使动态元素的父元素可点击

  15. 15

    如何使用jQuery为动态附加的元素添加点击事件?

  16. 16

    使用jQuery在动态元素(DIV)上自动触发点击事件

  17. 17

    如何使用jQuery为动态附加的元素添加点击事件?

  18. 18

    在动态创建的元素jQuery上启用可拖放

  19. 19

    jQuery-将鼠标移动到动态创建的元素上

  20. 20

    禁用动态创建的元素 jQuery 上的复选框

  21. 21

    动态元素并监听它们上的事件

  22. 22

    jQuery点击事件定位到多个元素

  23. 23

    JQuery 点击事件触发了错误的元素?

  24. 24

    在jQuery插件中创建点击事件

  25. 25

    jQuery:$(element).on(“ click”,...创建多个点击事件?

  26. 26

    jQuery remove()动态创建的元素

  27. 27

    jQuery动态调用事件监听器

  28. 28

    点击jquery上的事件不起作用

  29. 29

    如何将点击事件附加到我的jQuery插件中的元素上?

热门标签

归档