javascript - jQuery UI 可拖动不适用于创建的元素

标签 javascript jquery html jquery-ui

Draggable 函数适用于其他已创建的元素,但不适用于我在提交按钮后的函数中创建的元素。 我已经检查过是否向“li”元素添加了 id 并且它有效,那么为什么我不能拖动它呢? 当我在整个“ul”元素上使用它时它就起作用了。

HTML:

<div class="container">
  <form>
    <input type="text" id="entry">
    <button id="entryButton">button</button>
  </form>
  <ul id="list">
  </ul>
</div>





$("#entryButton").click(function(){
        event.preventDefault(); //stops refreshing
        var query = $("#entry").val();
        if (query !== "") {
            var registry = "<div id='drag'>" + query + "</div>"
            $("#list").append(registry)
            $("#entry").val("");
            return false; //also stops refreshing
            console.log(registry);
                           }
         })

    $("#drag").draggable({
      axis: "y"
      });

最佳答案

你只能使用一个 id 一次,所以我建议你使用 class 。此外,您应该在创建后将可拖动元素添加到元素中,正如 Ferhat BAŞ 所说。

https://jsfiddle.net/exqn1aoc/2/

$("#entryButton").click(function(){
    event.preventDefault(); //stops refreshing
    var query = $("#entry").val();
    if (query !== "") {
        var registry = "<div class='drag'>" + query + "</div>"

        $("#list").append(registry);
        $('#list').children().last().draggable();
        $("#entry").val("");
        return false; //also stops refreshing
        console.log(registry);
                       }
     });

关于javascript - jQuery UI 可拖动不适用于创建的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46907782/

相关文章:

javascript - 如何使用 "div"中的 "Link"使 "react-router-dom"标签可点击?

jquery - 如何使用 jquery-ui 和 Django 创建模式登录表单

html - 如何将图像设置为div

javascript - jQuery .append() 何时像 .insertBefore() 最后一个子项一样工作?

Javascript Click 功能不起作用?

semantic-markup - 是否存在语义差异 <span >'s and <div>' s?

javascript - Jasmine /JavaScript : Test that a new object was created

javascript - 阿拉伯语 tinymce 不工作

javascript - ExtJS 4.2 - 网格列标题文本应该在第一次加载时完全可见

jquery移动点击事件?