jQuery .blur()不会触发也不会.focusout()?

时间:2013-08-10 16:50:46

标签: jquery blur focusout

jquery的新手,所以有可能我错过了一个重要元素。我一直在挖掘过去几个小时,并尝试了几种解决方案但我没有尝试解决这个问题。我想要做的就是在“textboxUsername”失去焦点后执行一些代码。在直接的javascript中,我曾经通过向特定的输入元素添加onblur()事件并调用函数来完成此操作。任何建议赞赏...

HTML:

<div>
<div class="heading">
    <span class="inside_heading">Register</span>
</div>
<div class="content_under_heading">
    <div class="rounded_div">
        <ul class="ulRegister">
            <li class="descLabel">
                Username:
            </li>
            <li class="inputInfo">
                <input type="text" id="textboxUsername"/>
            </li>
            <li class="successCheck" id="usernameSuccessCheck">
                <img id="usernameCheckImage" src="templates/images/check.png" class="noShow"/>
                <img id="usernameXImage" src="templates/images/check.png" class="noShow"/>
            </li>
        </ul>

        <label id="labelUsernameExists" class="registerIssue"></label>

    </div>
</div>
</div>

的JavaScript

$(document).ready(function(){
//textboxUsername blur event
$("#textboxUsername").blur(function(){
    var possibleUsername = $("#textboxUsername").val();
    if(possibleUsername.length != 0){
        if(possibleUsername.length < 6){
            //display message
            var message = "Usernames must be at least 6 characters";
            $("#labelUsernameExists").text(message);
        } else{
            //ajax
        }
    }
});
});

1 个答案:

答案 0 :(得分:1)

这个问题非常适合新手。事实证明,我之前在叠加div中的元素上使用了“textboxUsername”的id,该div正在动态添加到页面中。发布的代码是有用的,因为它是从主应用程序中抽象出来的。感谢pdoherty926并指责它最终导致我朝着正确的方向发展!