You use this keyword in an arrow function. So it's not binded to anything. Using a regular function the this keyword is now binded to the image element.
$(".img").mousedown(function() {
setTimeout(()=>{
$(".popup").fadeIn(150);
$(".popup").append($(this).clone());
}, 1000);
}).mouseup(()=>{
$(".popup").fadeOut(150);
$(".popup").children().remove();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="popup">
</div>
<div class="grid">
<div class="img">
<img src="...">
</div>
<div class="img">
<img src="...">
</div>
<div class="img">
<img src="...">
</div>
</div>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…