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

为什么我不能拖动跨度,而是img?

柴博
2023-03-14

我正在尝试创建一个文本区域,在这里我可以添加HTML元素,这些元素应该可以在字符级别上拖动。这个问题与我目前正在问的另一个问题有关,但与GWT有关。为了创建这样一个文本区域,我试图了解如何一步一步地完成它。到目前为止,我得到的是:

JSFIDLE

JavaScript:

function smartdrag(e) {

    var id = e.target.getAttribute('id');

    if (id!=='plzdragme' && id !== 'plzdragmeimg') {
        e.stopPropagation();
        e.preventDefault();
        return;
    }
}

超文本标记语言:

<div contenteditable="true" ondragstart="smartdrag(event)">
    More blah
    <img src="http://lorempizza.com/80/80/2" id="plzdragmeimg" draggable="true" class="fancy-img"/>
    about 
    <span id="plzdragme" contenteditable="false" class="fancy" draggable="true">DRAGME</span>
    Sparta!
</div>

但是出于某种原因,我只能拖动img。我真正需要的是能够拖动一个span或者更好的一个div...

我怎样才能做到这一点?

PS:如果可能,请不要使用jQuery。

共有1个答案

董俊晖
2023-03-14

我在谷歌上搜索了一下HTML5拖动的工作原理,发现为了让DOM元素可以拖动,必须添加新的“draggable”属性,并将其设置为true。您的问题令人困惑的是,默认情况下,图像和链接是可拖动的!

我无法很好地测试这一点,因为您的脚本抛出一个错误,表示您的函数smartdrag不存在。

尽管我对这个可能的解决方案充满希望,因为它完全涵盖了您的问题,并且来自可靠的文档。

 类似资料:
  • 考虑一个大型内存容器。在这个简单的例子中 span允许我在内存上创建一个轻量级视图。现在,我只想打印跨度: 输出: 现在我想制作子集(这是实际上作为视图变得有用的地方)。我可以使用迭代器来指定我的范围并从调用这个构造函数(3) 但这行不通: C没有与参数列表匹配的构造函数实例参数类型为:(std::\u Vector\u iterator 有可能使用接受指针和大小的构造函数(2): 但这违背了迭代

  • 我为我的Gridview调用了一个javascript,但它看起来像文档。所有这些在Chrome/Firefox中都不起作用。 我可以用什么来代替它?非常感谢。

  • 我与Wildfly和OpenJPA合作。我有一个乐观锁例外的情况。 我得到的错误消息是: 00:08:29373警告[com.arjuna.ats.arjuna](默认任务-39)arjuna01225:TwoPhaseCoordinator。beforeCompletion-SynchronizationImple失败 :org.apache.openjpa.persistence.乐观锁定异常

  • 问题内容: 我们尝试使用以下Java代码从字符串转换为: 我们得到一个长度为22个字节的字节数组,我们不确定此填充来自何处。如何获得长度为20的数组? 问题答案: 亚历山大(Alexander)的答案解释了为什么存在它,但没有解释如何摆脱它。您只需要在编码名称中指定所需的字节序即可:

  • 配置:Windows8英文操作系统;JDK1.7;日食。 我安装了一个中国人写的软件,GUI是汉字。但是软件用方框显示得很难看。我在网上搜索了一下,找到了一个修复它的方法。在Win8的控制面板中,将“非Unicode程序的语言”设置为“中文”。 什么是Java默认字符集?是Unicode吗?Java缺省字符集如何与程序员交互?例如,如果Java使用Unicode,那么字符串“ABC”不能编码到其他

  • 我现在有一个helloworld项目根据这个链接,我做了它的。帽子 文件成功。我有“DE-ABCM_TB”读卡器和SAM卡。 我的小程序AID是 我可以在卡片上选择我的小程序。(我通过"DualCard"发送SELECT APDU命令 2.8版“/pcsc选项卡)。我现在必须在发送时接收十六进制格式的hello 。但我收到6C0B!为什么我会得到这样的回应 我如何解决这个问题?我搜索了一下,但没有