【问题标题】:I Want to make sure that all the functions work in a synchronous way in Jquery我想确保所有函数在 Jquery 中以同步方式工作
【发布时间】:2018-07-12 21:40:13
【问题描述】:

我想确保 after() 仅在处理 focusout() 之后执行,而不是在 jquery 中执行之前。以下是代码:

<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
    <form action="index.php" method="post">
        <label for="lblIosDownload">Todays iOS Downloads</label>
        <input name="txtIosDownloads" type="number" > <br>

        <label for="lblAndroidDownload">Todays Android Downloads</label>
        <input name="txtAndroidDownloads" type="number" ><br>

        <label for="iosSignUps">Today's Ios Sign ups</label>
        <input name="txtIosSignUps" type="number" ><br>

        <label for="lblAndroidSignUps">Todays Android SignUps</label>
        <input name="txtAndroidDownloads" type="number" ><br>

    </form>
    <script>
    $(document).ready(function(){
        $("input[name='txtIosSignUps']").focusout(function(e){
            e.preventDefault();
            var numberOfSignups = $(this).val();
            alert(numberOfSignups);
        }).after("<div style='color:red'>Hi<div>");
    });
    </script>


</body>

【问题讨论】:

标签: jquery jquery-chaining


【解决方案1】:

after() 调用移到事件处理程序中,这样它就不会在页面加载时发生,而是在事件发生时发生

$(document).ready(function(){
    $("input[name='txtIosSignUps']").focusout(function(e){
        e.preventDefault();
        var numberOfSignups = $(this).val();
        alert(numberOfSignups);
        $(this).after("<div style='color:red'>Hi<div>");
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多