在nicEdit中选择元素

时间:2012-09-19 16:18:16

标签: javascript nicedit

我正在开发 nicEdit 插件来上传图片以外的文件。为此,我采用了nicUpload插件,我正在调整它。

正如您在下面的代码中看到的,我首先插入一个图像,然后尝试将该图像包装在一个链接中,但它不起作用。

如果删除//Insert the image部分,我可以包装所选文本,但我想创建图像,然后选择该图像作为要包装的文本。

//Insert the link部分存在时,//Insert the image部分根本不起作用。

onUploaded:function(B){
        this.removePane();
        // Insert the image.
        if(!this.im) {
            var tmp = 'javascript:nicImTemp();';
            this.ne.nicCommand("insertImage",tmp);
            this.im = this.findElm('IMG','src',tmp);
        }
        if(this.im) {
            this.im.setAttributes({
                src : 'http://127.0.0.1/nicEditDev/src/nicFile/images/pdf.png',
                alt : 'PDF'
            });
        }
        // Insert the link wrapping the image.
        console.log(this.im);
        var url=B.links.original;
        if(!this.ln) {
            var tmp = 'javascript:nicTemp();';
            this.ne.nicCommand("createlink",tmp);
            this.ln = this.findElm('A','href',tmp);
        }
        if(this.ln) {
            this.ln.setAttributes({
                href : url,
                title : 'PDF',
                innerHTML : this.im
            }); 
        }   
    }

1 个答案:

答案 0 :(得分:0)

试试这个,它对我有用:

onUploaded: function(a) { this.removePane(); var c = a.url; if (this.im) { this.im || (this.ne.selectedInstance.restoreRng(), this.ne.nicCommand("insertImage", c), this.im = this.findElm("IMG", "src", c)); var b = parseInt(this.ne.selectedInstance.elm.getStyle("width")); this.im && this.im.setAttributes({ src: c, width: b && a.width ? Math.min(b, a.width) : "", alt: a.alt }) } else { this.ln || (this.ne.selectedInstance.restoreRng(), this.ne.nicCommand("createlink", c), this.ln = this.findElm('A', 'href', c)); this.ln && this.ln.setAttributes({ href: c, title: 'PDF' }); } }