javascript - 脚本在 JSFiddle 上运行良好,但在其他地方运行失败

标签 javascript jquery html jquery-ui

我不知道如何使用 jQuery 库。相同的代码可以在 JSFiddle 中运行;这是链接:http://jsfiddle.net/NhhKd/

请有人告诉我为什么相同的代码可以在 JSFiddle 中运行,但不能在 plunker 或任何其他网站中运行。

$("#fruitList").sortable();

$("body").on('click', '#fruitList .delete', function () {
    $(this).closest(".fruit").remove();
});

$("#addFruit").click(function () {
    $('#fruitList').append("<li class='fruit'>New fruit<button class='delete'>Delete</button></li>");
});
#fruitList {
    margin: 0 auto;
    list-style:none;
    border: 1px solid #000000;
    width:150px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    padding:20px;
}
.fruit {
    cursor:pointer;
    border:1px solid #dddddd;
    background:#eeeeee;
    margin:5px;
    padding:5px;
}
button {
    background:#eeeeee;
    cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<button id='addFruit'>Add fruit</button>
<ul id="fruitList">
    <li class="fruit">Apple
        <button class="delete">Delete</button>
    </li>
    <li class="fruit">Banana
        <button class="delete">Delete</button>
    </li>
    <li class="fruit">Orange
        <button class="delete">Delete</button>
    </li>
</ul>

最佳答案

链接的 JSFiddle 包括 jQuery UI 。如果没有它,您将缺少 .sortable(),因为您的 JavaScript console应该提醒你的。

下面修改后的代码片段包括 jQuery UI 和更现代的 jQuery,其工作方式与 JSFiddle 类似。

$("#fruitList").sortable();

$("body").on('click', '#fruitList .delete', function () {
    $(this).closest(".fruit").remove();
});

$("#addFruit").click(function () {
    $('#fruitList').append("<li class='fruit'>New fruit<button class='delete'>Delete</button></li>");
});
#fruitList {
    margin: 0 auto;
    list-style:none;
    border: 1px solid #000000;
    width:150px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    padding:20px;
}
.fruit {
    cursor:pointer;
    border:1px solid #dddddd;
    background:#eeeeee;
    margin:5px;
    padding:5px;
}
button {
    background:#eeeeee;
    cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>

<button id='addFruit'>Add fruit</button>
<ul id="fruitList">
    <li class="fruit">Apple
        <button class="delete">Delete</button>
    </li>
    <li class="fruit">Banana
        <button class="delete">Delete</button>
    </li>
    <li class="fruit">Orange
        <button class="delete">Delete</button>
    </li>
</ul>

关于javascript - 脚本在 JSFiddle 上运行良好,但在其他地方运行失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33485601/

相关文章:

javascript - 将具有相同 ID 类和标签 HTML 的多个元素拖放到屏幕上的任意位置

html - 如何在不更改 CSS 背景的情况下正确更改 Fontello 图标颜色

javascript - 防止空输入返回未定义,而是返回空字符串

javascript - 与 AddToAny 共享时如何选择要使用的文本?

javascript - 使用 Outlook 发送电子邮件

javascript - 使用 XMLHttpRequest() 时未定义的 _POST 变量

javascript - FlipClock 倒计时器显示给定日期和时间错误

javascript - 使用 jQuery 从隐藏输入字段获取值的问题

javascript - 计算响应固定图像的响应边距

html - 保持 SVG 图像的笔划粗细