Quiero copiar/pegar contenido de un div a otro
En el siguiente ejemplo, al hacer clic en el botón paste , el resultado esperado en el div de target es - <p>lorem ipsum</p>
pero simplemente - no pasa nada
$('.btncopy').on('click', function(){ let a = $('.story').html().trim(); navigator.clipboard.writeText(a); console.log(a); // it works }); $('.btnpaste').on('click', function(){ let a = navigator.clipboard.readText(); console.log(a); // doesn't work $('.target').text(a); }); .story, .target{min-height:25px; background:orange;} <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button class='btncopy'>COPY</button> <button class='btnpAste'>PASTE</button> <div class='story'><p>lorem ipsum</p></div> <br> <div class='target'></div>readText() (al igual que writeText ) devuelve una Promesa , debe esperarla. Así que en tu caso será algo como esto:
navigator.clipboard.readText().then(function(a) { console.log(a); // works $('.target').text(a); });Sin embargo, si lo intenta en SO snippet runner (o cualquier otro JS fiddler en línea), no funcionará debido a restricciones de permisos.