if语句和弹出的情况

时间:2013-04-09 18:01:05

标签: javascript jquery if-statement popup

我有一个文本框。它的名字是PhoneNumber。如果len(输入值)= 0,我想做一个弹出窗口。 当我做标签时,它不起作用。 (我看了调试模式) 当我在另一个已经有效的Jq脚本中执行此操作时。它工作但弹出窗口停留屏幕只有几毫秒,所以我什么也做不了。 我是编程新手,我还在学习。如果你帮助我,我会很开心。谢谢。

<script type="text/javascript">
    $('#PhoneNumber').bind('keypress', function (e) {
        if (e.keyCode == 13) {
            var test = $('#PhoneNumber').val().length;
            if (test == 0) {
                alert('At Least');
                /*  $('a.login-window').one(function () {               
                    var loginBox = $(this).attr('href');
                    //Fade in the Popup and add close button
                    $(loginBox2).fadeIn(300);
                    //Set the center alignment padding + border
                    var popMargTop = ($(loginBox).height() + 24) / 2;
                    var popMargLeft = ($(loginBox).width() + 24) / 2;
                    $(loginBox).css({
                        'margin-top': -popMargTop,
                        'margin-left': -popMargLeft
                    });
                    // Add the mask to body
                    $('body').append('<div id="mask"></div>');
                    $('#mask').fadeIn(300);
                    return false;
                });

                // When clicking on the button close or the mask layer the popup closed
                $('a.close, #mask').live('click', function () {
                    $('#mask , .login-popup').fadeOut(300, function () {
                        $('#mask').remove();
                    });
                    return false;
                });*/    
            }
            else 
            {
                alert('At Least');
                $("#PhoneNumber").val("");
                $('#PhoneNumber').focus();
            }
        }
    });
</script>

1 个答案:

答案 0 :(得分:0)

始终将您的jquery代码放入:

$(document).ready(function() {
  //Your code 
});

这可确保在将事件处理程序附加到元素时加载DOM。

对我而言,return false回调函数的one看起来就像fadeIn在它完成之前被杀掉了。

您可以将事件对象e添加为该函数的参数,然后使用e.stopPropagation()e.preventDefault()代替return false;,如下所示:

$('a.login-window').one(function (e) {      
    e.stopPropagation();
    e.preventDefault();
    //Your code   
});