javascript - clone() 不绑定(bind)事件/插件

标签 javascript jquery html css clone

我将视差附加到我克隆的同一个 div,但在我克隆之后,视差停止对克隆的元素起作用。
检查我的例子:https://codepen.io/anon/pen/rYOrEO

我的代码: HTML :

<div class="container">
  <a href="#" class="clone">Clone</a>
</div>
<section class="content">
  <div class="jumbotron text-center bg-faded my-5" style="background: url('http://lorempixel.com/1200/600/abstract/1') no-repeat center;" data-paroller-factor="0.5">
    <h1 class="heading-1 py-5 text-white">Hello Parallax!</h1>
  </div>
</section>

JavaScript:

$(window).paroller();
$(function(){
  $('.clone').on('click', function() {
    alert('hi');
    $(".jumbotron").clone().appendTo(".content");
  });
});

示例:https://codepen.io/anon/pen/rYOrEO

提前致谢

最佳答案

我之前遇到过类似的问题,可以解决。这是 CSS 在页面加载时生效而不是在克隆时生效的问题。

如果我没记错的话,你需要为克隆的 div 创建一个类似于这个例子的对象:

// will be different for you!! but might set you on the right direction
var divToClone = document.getElementsByID("#cloneMe");
var clone = divToClone.cloneNode(true);
var element = clone.getElementsByTagName("h1"); 

现在有了我的 var 元素,我可以像这样再次添加属性和样式

//Nothing to do with parallax here but look at you CSS and fill it in again like below
element.innerHTML = "Whatever you want or need"; 
element.style['background']= "url(/iwa/images/16x16/randomExample.png) no-repeat, fixed";
element.style['background-position']='center right';
element.style['border']='none'; 

希望对您有所帮助!

关于javascript - clone() 不绑定(bind)事件/插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47067037/

相关文章:

javascript - 如何在对象字面量中使用 promise

jquery - 创建一个像 jquery UI 上一样的样式化下拉菜单

javascript - 如何在javascript/jquery中拼接数组中的值?

html - Font Awesome 4.2.0 无法在 IE11 中呈现,兼容模式变为 "On"

javascript - 事件监听器不起作用。它说事件未在控制台中定义

html - 覆盖溢出 :hidden with z-index

javascript - 如何从 JavaScript 数字中删除小数部分?

javascript - 如何在一个浏览器中处理两个具有一个后端 CSRF 问题的网站?

javascript - 将 XPath 表达式与 javascript 变量进行匹配

javascript - jQuery 中的平滑淡入/淡出是可能的吗?