2013-08-30 26 views
0

..我可以避免這種情況嗎?使用jquery複製html內容忽略onclick中的腳本

我會給你一個我正在做的簡單運行。

我正在使用以下腳本來複制指定div的代碼內容。

$("a.copy-code").on('click', function (e) { 
    e.preventDefault(); 
}).each(function() { 
    var linkId = $(this).attr("id"); 
    $(this).zclip({ 
     path: '<?php bloginfo(' 
     template_url '); ?>/clipboard/ZeroClipboard.swf', 
     copy: function() { 
      return $('div[data-id=' + linkId + ']').html(); 
     } 
    }); 
}); 

這一切的偉大工程,具有對象代碼和iframe代碼等

但我用上面的腳本複製了這樣的內容...

<div class="hide" data-id="copy-wb-small"> 
<a href="#" onclick="window.open('http://www.live.co.uk/?utm_source=' + window.location.host + '&amp;utm_medium=Web%20Badge&amp;utm_campaign=%2BLive%2B2013'); return false;"><img src="http://www.live.co.uk/assets/mcl-badge-100px.jpg" alt="" /></a> 
</div> 

正如你所看到的我的錨標記中有一個onClick標記。

現在,當我複製這一點,這是結果我在剪貼板中得到...

<a href="#" onclick=""><img src="http://www.live.co.uk/assets/mcl-badge-100px.jpg" alt=""></a> 

它省去了我所有的腳本。 onClick在剪貼板中是空的。

任何人都可以建議是否有像.html()這樣的函數將包含腳本?


我用zclip創建了一個小提琴,它工作正常。

所以它必須與頁面的輸出有關。

看小提琴here

+0

什麼有關的jsfiddle? – Itay

+0

好主意 - 我會回來的 – Joshc

+0

jQuery似乎得到的HTML就好 - > http://jsfiddle.net/QdBrD/,必須是zclip的東西或您以後使用HTML的方式? – adeneo

回答

0

我想出了這個問題。

我猜WordPress的the_content()PHP標籤去掉我的HTML中的所有腳本。所以在我的頁面中使用了wordpress代碼標籤,它將腳本輸出爲html。

然後只是改變了這樣的代碼。

$("a.copy-code").on('click', function (e) { 
    e.preventDefault(); 
}).each(function() { 
    var linkId = $(this).attr("id"); 
    $(this).zclip({ 
    path: 'http://secure.fbapps.co.uk/dev/clipboard/ZeroClipboard.swf', 
    copy: function() { 
     return $('code[data-id='+linkId+']').html(); 
    } 
    }); 
}); 

http://jsfiddle.net/Vr4Ky/121/