当前位置: 首页 > 知识库问答 >
问题:

jqueryui将图像拖动到contentEditable div中,并将其放置在文本中的该位置

仉磊
2023-03-14

我有一个jqueryui可拖动的图像和一个包含text/html且contentEditable=true的jqueryui可拖放的div。

我希望能够将图像拖动到contentEditable文本上,当我将其拖放时,我希望能够将图像拖放到该文本/字符位置。

我已经找到了很多方法来做到这一点,如果我点击或选择可编辑的文本,然后使用选定的文本范围拖动图像,但当我只是拖动图像并放下它时,没有选择文本。

如何在contentEditable text on drop事件中设置选定/光标位置?

有人帮忙吗?

谢谢你,瑞克

共有1个答案

闻人举
2023-03-14

这个问题已经在本网站的其他地方得到了回答:在contenteditable中进行精确的拖放

那里的解决方案有特定于每个浏览器的代码(通过特征检测),目前只适用于Chrome和火狐。对于Chrome,需要使用document.caretRangeFromPoint从鼠标坐标计算范围。对于Firefox,事件对象具有rangePentalrangeOffset属性,可用于确定插入符号应定位在何处。

document.addEventListener("drop", function(e) {
    var sel = document.getSelection();
    if(document.caretRangeFromPoint) { // Chrome
        var range = document.caretRangeFromPoint(e.clientX,e.clientY);
        sel.removeAllRanges();
        sel.addRange(range);
    } else if(e.rangeParent) { // Firefox
        var range = document.createRange();
        range.setStart(e.rangeParent, e.rangeOffset);
        sel.removeAllRanges();
        sel.addRange(range);
    } else if(sel.rangeCount == 0) { // Default to at least not completely failing
        var range = document.createRange();
        sel.addRange(range);
    }

    // The selection is now in the right place - proceed with whatever the drop should do
});

此代码旨在处理可编辑的整个文档-对于可编辑的div,您需要在该div上设置事件侦听器,并修改回退案例,以确保所选内容位于div内。

 类似资料:
  • 我现在正在进行战舰项目。我创建了两个面板,我将它们放在一个框架中。第一个面板是按钮网格,第二个面板由可拖动的船只图像组成。我想要的只是,当我将图像拖到某个按钮中时,它会出现在该按钮上。换句话说,我只是想通过将图像拖到JButton中来简单地添加图像。这是完整的代码: 希望有人能帮助我:)

  • 我有一个代码,其中我必须从我的桌面拖动两个图像,并把它放在两个可拖动按钮的框架。按钮已经做在框架上了。但是在拖动图像时,只能拖动到一个按钮上。图像不会被拖到另一个。我创建了一个< code>DragListener类,其中拖动方法占主导地位,还创建了一个主类< code > draginiallistener ,其中我传递了类< code>DragButton的对象,这样就创建了两个可拖动的按钮。

  • 问题内容: 在Swift编程中,如何裁剪图像,然后将其放在中心? 到目前为止,这就是我要做的…我已经成功裁剪了图像,但是我想在之后将其放在中间 更新: 我可以通过获取path.bound和size来居中,并更改ImageView的边界。:) 问题答案: 要获得作物的居中位置,可以将高度和宽度的差减半。然后,您可以在检查图像的方向(较长的部分)后为新的宽度和高度指定边界 我在本网站上找到了大部分此类

  • 问题内容: 我一直在编码OCR书籍扫描程序(它通过读取页码来重命名页面),并且已经从基本的CLI Python脚本切换到GUI。 我正在使用PyQT4并拖放查看大量文档,但是没有运气。它只是拒绝接收那些文件!我将这些用于我的UI设计文章: http://tech.xster.net/tips/pyqt-drag-images-into-list-widget-for-thumbnail-list/

  • 问题内容: Hibernate配置文件(.hbm.xml)的理想位置是 但我想将这些配置设置放在其他位置,例如 我怎样才能做到这一点? 如果我将配置文件放在该位置,并且启动了Tomcat,则在加载该配置时会出现错误提示 找不到hibernate.cfg.xml 问题答案: 要配置文件的位置,请使用而不是在创建时。 要配置文件的位置,请使用。 也可以看看: Java文档