javascript拖放,空容器

时间:2015-06-08 20:20:45

标签: javascript drag

我的目标是清理任何div .create 并在我将编辑链接放入其中之前删除其中的任何元素,我已经尝试但我不能。 我有这段代码:

http://codepen.io/anon/pen/Ejmemp

    public void SetMedata(File param_File) throws IOException, SAXException, TikaException {



    // parameters of parse() method
    Parser parser = new AutoDetectParser();
    BodyContentHandler handler = new BodyContentHandler();
    Metadata metadata = new Metadata();
    FileInputStream inputstream = new FileInputStream(param_File);
    ParseContext context = new ParseContext();

    // Parsing the given file
    parser.parse(inputstream, handler, metadata, context);

    // list of meta data elements elements
    System.out.println("===Before=== metadata elements and values of the given file :");
    String[] metadataNamesb4 = metadata.names();

    for (String name : metadataNamesb4) {
        System.out.println(name + ": " + metadata.get(name));
    }

    // setting date meta data
    metadata.set(TikaCoreProperties.CREATED, new Date());

    // setting multiple values to author property
    metadata.set(TikaCoreProperties.TITLE, "ram ,raheem ,robin ");

    // printing all the meta data elements with new elements
    System.out.println("===After=== List of all the metadata elements  after adding new elements ");
    String[] metadataNamesafter = metadata.names();

    for (String name : metadataNamesafter) {
        System.out.println(name + ": " + metadata.get(name));
    }

    //=======================================
    //How To Save metada. ===================

}

这是javascript:

<div class="edit"><a class="link_edit" id="4545" href="edit.php?id=xxx" ondragstart="drag(event)">edit</a></div>

<div class="create" ondrop="drop(event,this)" ondragover="allowDrop(event)"><a href="create.php?id=xxx" class="link_create">create</a></div>

<div class="create" ondrop="drop(event,this)" ondragover="allowDrop(event)"><a href="create.php?id=xxx" class="link_create">create</a></div>

<div class="create" ondrop="drop(event,this)" ondragover="allowDrop(event)"><a href="create.php?id=xxx" class="link_create">create</a></div>

<div class="create" ondrop="drop(event,this)" ondragover="allowDrop(event)"><a href="create.php?id=xxx" class="link_create">create</a></div>

谢谢。

1 个答案:

答案 0 :(得分:2)

请注意编辑的时间。 OP已在id中进行了编辑,并在我的回复发布后用.innerHTML修复了TypeError。

如果你检查你的JS控制台,你可能会看到一大堆这些错误。

"Uncaught TypeError: container.innerHTML is not a function"

这是因为.innerHTML是属性,而不是方法。您已分配给该属性。

container.innerHTML = '';

此外,您的可拖动元素缺少ID,因此

ev.dataTransfer.setData("text", ev.target.id);

不会真正设置任何内容,这将导致

ev.target.appendChild(document.getElementById(data).cloneNode(true));

尝试克隆null值。但是你不应该克隆独特的元素。 (见:ID attribute

考虑重新考虑实施,并明确考虑unobtrusive JavaScript。那么多内联JavaScript很麻烦。

一些阅读材料: