如何通过点击将innerHTML从一个div带到另一个div

时间:2017-01-11 01:05:23

标签: javascript innerhtml addeventlistener

我想点击一个div或实际上是一个iframe,当我点击iframe时,我希望得到与iframe相同的内容到我得到的另一个iframe。我试过这样的但是对我不起作用..

    var leser = document.getElementById("leser");
    var leser2 = document.getElementById("leser2");
    var leser1 = document.getElementById("leser1");

   leser.addEventListener("click", activateLeser);

      function activateLeser() {

      leser1.innerHTML = leser.innerHtmL;

    }

iframe的HTML代码:

  <div id="leser1">
<iframe src="https://opskins.com/?loc=good_deals&sort=n&app=433850_1"></iframe>

<div id="leser">
<iframe src="https://opskins.com/?loc=shop_view_item&item=69274922&uid=76561198258576267"></iframe>

<div id="leser2">
<iframe src="https://opskins.com/?loc=shop_search&sort=lh&app=433850_1&search_item=%22Skin:%20All%20American%20Face%20Bandana%22"></iframe>

2 个答案:

答案 0 :(得分:1)

更改

leser1.innerHTML = leser.innerHtmL;

leser1.src = leser.src;

更改后的iframe将从头开始重新加载,而不是从点击的内容中复制内容,但它应该有效。

答案 1 :(得分:1)

问题是div是调用事件的那个,所以点击Iframe不会注册事件,因为Iframe内容来自另一个页面。我建议使用一个按钮,或者在Iframe元素和Div之间留出一些空间,但如果你一直这样做,那试试这个

//在iframe窗口中添加ID

//将Click事件添加到Iframe窗口

iframe.contentWindow.addEventListener(&#34; click&#34;,function(event){activateLeser(this.id);},false);

它应该有用。希望这有帮助

PS。还有关于堆栈溢出的问题。他们和你的相似 Adding click event handler to iframe

capture click on div surrounding an iframe