Próbuję napisać podstawową platformę blogowania, a ja chcę zaoferować użytkownikom możliwość kopiowania kodu w przedziale blokowym do schowka.Jak mogę wkleić() klip ZeroClipboard do nowo wstawionego elementu?
Używam do tego celu ZeroClipboard. Gdy dokument jest gotowy, ja pętli każdego pre
na stronie, dodanie elementu schowka do niego w następujący sposób:
$(document).ready(function() {
ZeroClipboard.setMoviePath('ZeroClipboard/ZeroClipboard.swf');
var preNum = 1
$('pre').each(function() {
// Get a unique id for the element I will be inserting
var id = 'copy-btn-' + preNum++
// Capture the text to be copied to the clipboard
var text = $(this).text()
// Insert the element, just before this
$('<div class="copy-btn" id="' + id + '-cont"><i class="icon-file icon-white" id="' + id + '"></i></div>').insertBefore(this)
// Capture the newly inserted element
var elem = $(this).prev()
// Create the clip, and glue it to the element
var clip = new ZeroClipboard.Client();
clip.setText(text)
clip.glue(elem)
})
});
gdy próbuję to zrobić, javascript raportów konsoli: Uncaught TypeError: Cannot read property 'zIndex' of undefined
mojego obecnego zrozumienie problemu polega na tym, że wstawiony element nie jest jeszcze dostępny w domenie, gdy próbuję przykleić do niego klips, dlatego nie występuje klejenie.
Ktoś wie, w jaki sposób mogę to osiągnąć?
Świetne połączenie. Dzięki za pomoc. – finiteloop