美文网首页
在光标所在位置插入图片

在光标所在位置插入图片

作者: 细雨衔雪 | 来源:发表于2017-06-19 10:02 被阅读0次
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
        #box{
            width:500px;
            height:500px;
            border: 1px solid red;
        }
        #box img{
            width:100px;
        }
    </style>
</head>
<body>
    <div id='box' contentEditable="true"></div>
    <input type="file" name="pic[]" multiple id="myinput">
    <button onclick="upload()">上传</button>

</body>
<script src="http://cdn.bootcss.com/jquery/3.1.0/jquery.min.js"></script>
<script>

    //获取光标
    (function($) {http://www.css88.com/archives/3627
    $.fn.insertContent = function(myValue, t) {
        var $t = $(this)[0];
        if (document.selection) { //ie
            this.focus();
            var sel = document.selection.createRange();
            sel.text = myValue;
            this.focus();
            sel.moveStart('character', -l);
            var wee = sel.text.length;
            if (arguments.length == 2) {
                var l = $t.value.length;
                sel.moveEnd("character", wee + t);
                t <= 0 ? sel.moveStart("character", wee - 2 * t - myValue.length) : sel.moveStart("character", wee - t - myValue.length);

                sel.select();
            }
        } else if ($t.selectionStart || $t.selectionStart == '0') {
            var startPos = $t.selectionStart;
            var endPos = $t.selectionEnd;
            var scrollTop = $t.scrollTop;
            $t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length);
            this.focus();
            $t.selectionStart = startPos + myValue.length;
            $t.selectionEnd = startPos + myValue.length;
            $t.scrollTop = scrollTop;
            if (arguments.length == 2) {
                $t.setSelectionRange(startPos - t, $t.selectionEnd + t);
                this.focus();
            }
        }
        else {
            this.value += myValue;
            this.focus();
        }
    };
})(jQuery);

var input=document.getElementById('myinput');
var box=document.getElementById('box')
function upload () {

    var fd=new FormData()
    var files=input.files;

    for(var i=0;i<files.length;i++){
        fd.append('pic'+i,files[i])
        var fileobj=files[i];
        readImage(fileobj);
        console.log(fileobj)
    }

//上传文件,在localhost环境下
    $.ajax({
            url:'./server/upload.php',
            type:'post',
            data:fd,
            processData:false,
            contentType:false,
            success:function(res){
                alert('上传成功')
            },
            dataType:'json'
        })
}

//读取图片并将图片插在光标所在位置
function readImage(fileobj){
        var fr=new FileReader();
        fr.onload=function(){
            var img=document.createElement('img');
            img.src=fr.result;
            box.appendChild(img);
            console.log(img)
            $('#box').insertContent(img)
        }
        fr.readAsDataURL(fileobj);
    }


</script>

</html>

相关文章

  • 在光标所在位置插入图片

  • vim编辑模式/vim命令模式/vim实践

    vim进入编辑模式 按键 作用 i在当前(光标所在位置)字符前插入 I(大写i)在光标所在的行首插入 a在当前字符...

  • Linux常用操作指令

    1. VIM的使用 vim理解为Windows下的记事本 进入编辑模式①i: 从光标所在位置前面开始插入资料,光标...

  • vim 编辑器的使用

    Esc 从插入模式到命令模式i 光标前插入字符I 在光标所属行首插入a 光标后插入字符A 在光标所属行末插入o ...

  • 20210711-Vim 基础

    在正常(Normal)模式下,可以按下 x 键来删除光标所在位置的字符。 在正常模式下,可以按下 i 键来插入文本...

  • Ubuntu下vi基本命令

    i 在光标前插入 a 在光标后插入A 插入行末 i 在光标前插入 I 插入行首 o 向下切换一行 O 向上开一行 ...

  • 【效率】VIM 极简快捷键

    在VIM编辑内容 插入 i 光标之前插入 (insert)a 光标之后插入 (append)A 行尾插入(大写a...

  • Linux学习之路(六)---vi操作

    vim 是由vi发展而来的一款文本编辑器 编辑模式 AIOS(aios) A:在当前行尾插入 I:在光标所在位置的...

  • vi操作

    编辑命令 i, insert在光标前插入字符 a, append在光标后插入字符 r, replace替换光标处的...

  • 终端下常用快捷键(linux和Mac)

    删除ctrl + d 删除光标所在位置上的字符ctrl + h 删除光标所在位置前的字符ctr...

网友评论

      本文标题:在光标所在位置插入图片

      本文链接:https://www.haomeiwen.com/subject/sahgqxtx.html