【问题标题】:clone() dose not bind event / pluginclone() 不绑定事件/插件
【发布时间】:2017-11-02 03:18:53
【问题描述】:

我将视差附加到我克隆的同一个 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

提前感谢

【问题讨论】:

  • 您可能想read some documentation 了解克隆功能,看看哪里出错了 - 不过,问题可能是“paroller”不能那样工作
  • 任何帮助将不胜感激thanx,一直在努力,但无法解决问题。
  • 根据文档,如果要克隆事件,则需要说 .clone(true) - 但是,这似乎对 paroller 没有影响
  • 是的,就是这样,我什至尝试过,但没有任何帮助。
  • Paroller 可能不仅仅是绑定事件处理程序。

标签: javascript jquery html css clone


【解决方案1】:

我之前也遇到过类似的问题,可以解决。这是页面加载时 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'; 

希望有帮助!

【讨论】:

  • 感谢您的回答,感谢。这可以在不添加内联 css 的情况下完成吗?在这里我需要使用我拥有的预定义 css 输出干净的 div?
  • 一年多以前我遇到了这个问题,所以我记不清了,但是当我有机会看看我是否可以挖掘它时,我可以看看我的旧项目向上
  • 谢谢@Super Hans,它会帮助我。
  • 尝试使用像这样的 Deep Clone Vicky $('your-selector').clone(true, true)
  • 我也试过这个来进行深度克隆,但这对我也不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-30
  • 1970-01-01
  • 1970-01-01
  • 2016-08-08
  • 2016-05-05
  • 1970-01-01
相关资源
最近更新 更多