Handle onpaste event
by 亮 薛
HTML
<input onpaste="showEvent(event)" type="text" ></input><br>
<textarea onpaste="showEvent(event)" ></textarea><br>
<button onmousedown="pasteData(event)" >GO</button><br>
JavaScript
/* http://stackoverflow.com/questions/946534/insert-text-into-textarea-with-jquery/946556 */
var upload_url = 'http://uploader.xueliang.org/server-uploader/uploader/upload/file?appId=dev_test';
function showEvent(event) { console.log('onpaste');
var string = "";
var keys = [];
for ( var key in event ) {
keys.push( key );
}
string += keys.sort().join("\n");
console.log(string);
console.log( 'clipboardData:' + event.clipboardData );
console.log( 'pasted:' + event.clipboardData.getData('text') );
if (event.clipboardData.files) {
console.log('文件');
_handleFileUpload(event.clipboardData.files);
}
}
var _handleFileUpload = function (files) {
if (files && files[0]) {
var file = files[0];
//使用FormData对象发送文件
var formData = new FormData();
formData.append("file", file);
var ajaxParams = {
url: upload_url,
type: "POST",
data: formData,
processData: false,
contentType: false,
};
$.ajax(ajaxParams)
.done(function (response) {
if (response.errors.length) {
swal.fire({
title: "头像上传失败",
icon: "error",
confirmButtonText: "我知道了",
});
return;
}
imageInput.hidden.value = response.data.url;
KTUtil.css(
imageInput.wrapper,
"background-image",
"url(" + response.data.url + ")"
);
KTUtil.addClass(imageInput.element, "image-input-changed");
KTUtil.removeClass(imageInput.element, "image-input-empty");
// alert('上传完成,响应结果:' + JSON.stringify(response));
})
.fail(function (response) {
console.info(response);
});
}
}
function pasteData( event ) {
event.preventDefault();
var pasteEvent = new Event('paste');
pasteEvent.clipboardData = {
getData: function() {
return 'qweasdzxc';
}
};
...