0

<ul>を使用して、自分のinnerHTMLを動的に設定しますdocument.getElementById("myUL").innerHTML="<li...>

私が動的に作成した<li>ものは、jquery でドラッグできません。ただし、静的 HTML はそうです。

innerHTML ディレクティブを使用して新しく作成された動的 HTML をドラッグ可能にするにはどうすればよいですか?

ここにいくつかのコードがあります:

function onAddTask() {
    var task = document.getElementById("task").value;

    for (i = 0; i < MAX_TASKS; i++)  {
        if (tasks[i] == null) {
            tasks[i] = task;
            break;
        }
    }

    /* construct HTML */
    var html = "<li class='ui-widget-content ui-corner-tr'>" +
            "<h5 class='ui-widget-header'>New Task</h5>" +
            "<a href='' onclick='return onCreateTask();'><img src='graphics/newtask.png' width='96' height='72'/></a>" +
            "<center>Create a new task</center>" +
            "</li>";
    for (i = 0; i < MAX_TASKS; i++) {
        if (tasks[i] != null) {
            html += "<li class='ui-widget-content ui-corner-tr ui-draggable' style='width: 96px; display: list-item;'><h5 class='ui-widget-hea
                + "<img src=graphics/task.png width=96 height=72>"
                + tasks[i]+"</li>";
        }
    }

    var todoList = document.getElementById("todo");
    todoList.innerHTML = html;

    tb_remove();

    return false;
}

そして、私が持っているHTMLで

<body>
<ul id="todo" class="todo ui-helper-reset ui-helper-clearfix">
    <li class='ui-widget-content ui-corner-tr ui-draggable' style='width: 96px; display: list-item;'><h5 class='ui-widget-header'>blah</h5>
        <img src=graphics/task.png width=96 height=72>
    </li>
    <li class="ui-widget-content ui-corner-tr">
        <h5 class="ui-widget-header">New Task</h5>
        <a href="" onclick='return onCreateTask();'><img src="graphics/newtask.png" width="96" height="72"/></a>
        <center>Create a new task</center>
    </li>
    <li class="ui-widget-content ui-corner-tr">
        <h5 class="ui-widget-header">Task</h5>
        <img src="graphics/task.png" width="96" height="72" />
        <center>Task Data</center>
    </li>
</ul>
4

1 に答える 1

1

In your onAddTask() function, add following lines just before line tb_remove();

$("#todo li").draggable({
   helper : 'clone'
});

I have assumed that all required jquery+UI libraries are included. Hope it helps.

于 2012-07-27T08:24:45.513 に答える