I need to add additional behavior when user paste image in mobile Safari. I use following code to get clipboardData
:
document.getElementById('content').addEventListener('paste', function(e) { var clipboardData = e.clipboardData; // check if image were pasted }
From this point, how can I check is it image (jpg, png, gif) were pasted or not?
1 Answers
Answers 1
I can't get data from e.clipboardData
as it showed noting at all. so I use Editable div instead, then you can check if it is a image inside Editable div, and find what's in it.
document.getElementById("content").addEventListener("paste", function(e) { setTimeout(() => { var pasted = $("#content").children(); if (!pasted.length) { console.log("nothing pasted!"); return; } pasted.map((i, x) => { if (x.tagName != "IMG") { console.log(x); console.log(`${x.tagName} not image`); return; } console.log(`pasted image=[${x.src}]!`); }); }); });
#content { width: 200px; height: 200px; border: 1px solid black; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id='content' contenteditable='true'></div>
when you get data-url
you can tel jpg
or png
, if not it will be more complicated, a back-end api is needed
0 comments:
Post a Comment