gpt4 book ai didi

javascript - 函数适用于普通
  • 但不适用于脚本创建的那些
  • 转载 作者:行者123 更新时间:2023-11-30 09:53:56 25 4
    gpt4 key购买 nike

    这是网站的html

    <!DOCTYPE html>
    <html>

    <head>
    <title>Login Page</title>

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.3.min.js"></script>
    <script src="jquery.cookie.js"></script>
    <link rel="stylesheet" type="text/css" href="loginStyle.css">
    </head>

    <body>
    <div class="login">
    <input type="text" value="Please, give us your name" id="name">
    <h3 id="name_txt">Log in</h3>
    <h4 id="pilot_txt">Choose your pilot.</h4>
    <ul id="pilots">
    </ul>
    </div>
    <script src="loginScript.js"></script>
    </body>

    </html>

    这里是 loginScript.js :

    var uriPilots = '../api/pilots';


    $("ul#pilots li").click(function(){
    var t = $(this).text();
    $.cookie("pilot", t);
    $("#pilot_txt").text(t);
    })


    $(document).ready(function () {
    // Send an AJAX request
    $.getJSON(uriPilots)
    .done(function (data) {
    // On success, 'data' contains a list of products.
    $.each(data, function (key, item) {
    // Add a list item for the product.
    $('<li>', { text: formatItemProduct(item) }).appendTo('#pilots');
    });
    });
    });

    function formatItemProduct(item) {
    return item.Name;
    }

    现在,问题出在第一个函数上。它应该是,当用户点击 <li> 时元素,在第二个函数中从服务器加载,创建一个 cookie 来存储 <li> 的文本已单击(我更改了 "#pilot_txt" 的文本,以便能够更轻松地检查它是否有效)。

    有趣的是,如果我添加 <li>,一切都会完美无缺。手动元素,但对于从服务器加载的元素,它没有。

    如有任何帮助,我将不胜感激。

    最佳答案

    你应该使用事件委托(delegate) on() 当您处理由 javascript 生成的新 DOM 时:

    $('body').on('click', "ul#pilots li", function(){
    var t = $(this).text();
    $.cookie("pilot", t);
    $("#pilot_txt").text(t);
    })

    希望这对您有所帮助。

    关于javascript - 函数适用于普通 <li> 但不适用于脚本创建的那些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34961975/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com