重新加载dom时防止默认设置不起作用

可执行文件

我有以下片段

$( "#diner_option" ).click(function( event ) {
  event.preventDefault();
  console.log('ok')
}); 
        
 $( "#change" ).click(function( event ) {
    var add_html = "<div id='diner_div' class='col-md-3 mx-auto planning_recipe_card'><a href='recipes_details.php?recipeid=1'><div class='card card_recipes'><i id='diner_option' class='fas fa-cog recipe_option'></i><img class='img_recipe scard-img-top simg-fluid' src='https://fr.chatelaine.com/wp-content/uploads/0001/01/salade-tiede-courgettes-grillees-10797.jpg' alt='salade tiede de courgettes'><div class='card-body card_body_recipe'><h5 class='card-title'>salade tiede de courgettes</h5></div></div></div></a></div>"
    $("#diner_div").replaceWith(add_html)
    console.log('changed');
}); 
.recipe_option{
        position: absolute;
        padding: 15px;
        top: 0;
        right: 0;
        background: #353b43;
        border-bottom-left-radius: 10px;
    }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.10.0/css/all.css" integrity="sha384-AYmEC3Yw5cVb3ZcuHtOA93w35dYTsvhLPVnYs9eStHfGJvOvKxVfELGroGkvsg+p" crossorigin="anonymous"/>

<button id="change">Change</button>


<div id="diner_div" class="col-md-3 mx-auto planning_recipe_card">
  <a href="recipes_details.php?recipeid=1">
    <div class="card card_recipes">
      <i id="diner_option" class="fas fa-cog recipe_option"></i>
      <img class="img_recipe scard-img-top simg-fluid" src="https://fr.chatelaine.com/wp-content/uploads/0001/01/salade-tiede-courgettes-grillees-10797.jpg" alt="salade tiede de courgettes">
      <div class="card-body card_body_recipe">
        <h5 class="card-title">salade tiede de courgettes</h5>
      </div>
    </div>
  </a>
</div>

当我单击齿轮图标时,我会在控制台中看到消息ok,这表明它已按预期工作。但是,当我单击更改按钮刷新dom并单击齿轮时,该event.preventDefault();功能不起作用。齿轮的工作就像一个链接。

我希望能够重新加载dom,并且齿轮图标仍然有效(这表示显示了ok消息)

大卫

您必须将click事件重新绑定到替换旧齿轮的新元素。再次调用您的jquery绑定。

$( "#diner_option" ).click(function( event ) {
  event.preventDefault();
  console.log('ok')
}); 
        
 $( "#change" ).click(function( event ) {
    var add_html = "<div id='diner_div' class='col-md-3 mx-auto planning_recipe_card'><a href='recipes_details.php?recipeid=1'><div class='card card_recipes'><i id='diner_option' class='fas fa-cog recipe_option'></i><img class='img_recipe scard-img-top simg-fluid' src='https://fr.chatelaine.com/wp-content/uploads/0001/01/salade-tiede-courgettes-grillees-10797.jpg' alt='salade tiede de courgettes'><div class='card-body card_body_recipe'><h5 class='card-title'>salade tiede de courgettes</h5></div></div></div></a></div>"
    $("#diner_div").replaceWith(add_html);
    
    $( "#diner_option" ).click(function( event ) {
      event.preventDefault();
      console.log('ok')
    }); 
    console.log('changed');
});
.recipe_option{
        position: absolute;
        padding: 15px;
        top: 0;
        right: 0;
        background: #353b43;
        border-bottom-left-radius: 10px;
    }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.10.0/css/all.css" integrity="sha384-AYmEC3Yw5cVb3ZcuHtOA93w35dYTsvhLPVnYs9eStHfGJvOvKxVfELGroGkvsg+p" crossorigin="anonymous"/>

<button id="change">Change</button>


<div id="diner_div" class="col-md-3 mx-auto planning_recipe_card">
  <a href="recipes_details.php?recipeid=1">
    <div class="card card_recipes">
      <i id="diner_option" class="fas fa-cog recipe_option"></i>
      <img class="img_recipe scard-img-top simg-fluid" src="https://fr.chatelaine.com/wp-content/uploads/0001/01/salade-tiede-courgettes-grillees-10797.jpg" alt="salade tiede de courgettes">
      <div class="card-body card_body_recipe">
        <h5 class="card-title">salade tiede de courgettes</h5>
      </div>
    </div>
  </a>
</div>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重新加载dom时防止默认设置不起作用

来自分类Dev

防止默认设置并传输文本不起作用

来自分类Dev

骨干对象默认设置不起作用

来自分类Dev

重新加载不起作用

来自分类Dev

rbash 在设置为用户的默认 shell 时不起作用

来自分类Dev

参数集-如何使默认设置起作用?

来自分类Dev

参数集-如何使默认设置起作用?

来自分类Dev

防止默认值不起作用

来自分类Dev

NLog自动重新加载不起作用

来自分类Dev

Supervisord HAProxy重新加载不起作用

来自分类Dev

UITableView重新加载数据不起作用

来自分类Dev

preventDefault()不起作用,页面被重新加载

来自分类Dev

重新加载片段不起作用

来自分类Dev

AngularJS 重新加载页面不起作用

来自分类Dev

重新加载本地模块不起作用

来自分类Dev

角度:防止默认值在单击div时不起作用

来自分类Dev

游标启动后,默认同步文件夹不起作用,但游标重新加载后,默认同步文件夹不起作用

来自分类Dev

如何在首次启动时强制Excel加载项加载默认设置

来自分类Dev

通过Ajax重新加载页面内容时,jQuery不起作用

来自分类Dev

当应用程序进入前台时,重新加载表不起作用

来自分类Dev

保留重新加载时的复选框值不起作用

来自分类Dev

通过Ajax重新加载页面内容时,jQuery不起作用

来自分类Dev

jQuery不起作用,当执行ajax请求以重新加载div时

来自分类Dev

每次用户返回页面时都尝试重新加载 UITableView,但它不起作用

来自分类Dev

尝试阻止页面重新加载时提交按钮和表单不起作用

来自分类Dev

加载 jquery 时不起作用

来自分类Dev

jQuery防止默认在Wordpress中不起作用

来自分类Dev

jQuery防止默认在Wordpress中不起作用

来自分类Dev

在使用carrierwave添加AWS之后,头像默认设置不再起作用

Related 相关文章

  1. 1

    重新加载dom时防止默认设置不起作用

  2. 2

    防止默认设置并传输文本不起作用

  3. 3

    骨干对象默认设置不起作用

  4. 4

    重新加载不起作用

  5. 5

    rbash 在设置为用户的默认 shell 时不起作用

  6. 6

    参数集-如何使默认设置起作用?

  7. 7

    参数集-如何使默认设置起作用?

  8. 8

    防止默认值不起作用

  9. 9

    NLog自动重新加载不起作用

  10. 10

    Supervisord HAProxy重新加载不起作用

  11. 11

    UITableView重新加载数据不起作用

  12. 12

    preventDefault()不起作用,页面被重新加载

  13. 13

    重新加载片段不起作用

  14. 14

    AngularJS 重新加载页面不起作用

  15. 15

    重新加载本地模块不起作用

  16. 16

    角度:防止默认值在单击div时不起作用

  17. 17

    游标启动后,默认同步文件夹不起作用,但游标重新加载后,默认同步文件夹不起作用

  18. 18

    如何在首次启动时强制Excel加载项加载默认设置

  19. 19

    通过Ajax重新加载页面内容时,jQuery不起作用

  20. 20

    当应用程序进入前台时,重新加载表不起作用

  21. 21

    保留重新加载时的复选框值不起作用

  22. 22

    通过Ajax重新加载页面内容时,jQuery不起作用

  23. 23

    jQuery不起作用,当执行ajax请求以重新加载div时

  24. 24

    每次用户返回页面时都尝试重新加载 UITableView,但它不起作用

  25. 25

    尝试阻止页面重新加载时提交按钮和表单不起作用

  26. 26

    加载 jquery 时不起作用

  27. 27

    jQuery防止默认在Wordpress中不起作用

  28. 28

    jQuery防止默认在Wordpress中不起作用

  29. 29

    在使用carrierwave添加AWS之后,头像默认设置不再起作用

热门标签

归档