【问题标题】:HTML/Javascript/Bootstrap cannot hide button when clicked单击时 HTML/Javascript/Bootstrap 无法隐藏按钮
【发布时间】:2018-07-07 16:37:04
【问题描述】:

所以我有这段代码,我试图让登录/注册按钮在单击后隐藏按钮,它们会闪烁(隐藏并快速返回)。

一般来说,我是 Web 开发的新手,所以我可能会做一些愚蠢的事情

<!DOCTYPE html>

<html lang="en">
<head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

    <!--CSS-->
    <link rel="stylesheet" href="Login.css" />

    <meta charset="utf-8" />
</head>
<body>
    <div class="jumbotron">
        <!--Login/Register Tabs-->
        <ul class="nav nav-tabs nav-justified">
            <li class="active"><a data-toggle="tab" href="#loginTab">Login</a></li>
            <li><a data-toggle="tab" href="#registerTab">Register</a></li>
        </ul>
        <!--Tabs Content-->
        <div class="tab-content">
            <div id="loginTab" class="tab-pane active">
                <form>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
                        <input id="loginUsernameText" type="text" class="form-control" placeholder="Username">
                    </div>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
                        <input id="loginPasswordText" type="password" class="form-control" placeholder="Password">
                    </div>
                    <button id="loginButton" class="btn btn-primary btn-block">Login</button>
                </form>
            </div>

            <div id="registerTab" class="tab-pane fade">
                <form>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
                        <input id="registerUsernameText" type="text" class="form-control" placeholder="Username (3-24 Char)">
                    </div>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
                        <input id="registerPasswordText" type="password" class="form-control" placeholder="Password (3-24 Char)">
                    </div>
                    <button id="registerButton" class="btn btn-primary btn-block">Register</button>
                </form>
            </div>
        </div>
    </div>

    <!--Scripts-->
    <script src="Login.js" type="text/javascript"></script>
</body>
</html>

用jquery编写的Login.js

$('#loginButton').click(function () {
    $('#loginButton').addClass('hidden');
    $('#registerButton').addClass('hidden');
});

$('#registerButton').click(function () {
    $('#loginButton').addClass('hidden');
    $('#registerButton').addClass('hidden');
});

任何帮助表示赞赏

已解决:按钮的设置属性 type="button" 救了我的命,感谢您的帮助!

【问题讨论】:

标签: javascript jquery html css twitter-bootstrap-3


【解决方案1】:

尝试以下方法:

1) 为您的按钮添加 type="button" 属性,这可能会使您免于某些情况下,除非声明为 type=button,否则表单中的按钮充当提交。

2) 改写如下

var registerButton = $('#registerButton');
var loginButton= $('#loginButton');

function hideButtons(){
    registerButton.hide(); // or add your custom class here
    loginButton.hide();    // or add your custom class here
    return false;          // avoid bubling
}

loginButton.on('click',function () {
    hideButtons();
});

registerButton.on('click',function () {
   hideButtons();
});

告诉我它是否有效

【讨论】:

  • 天哪,你救了我的命,因为我一直在寻找几个小时,谢谢你现在非常完美
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-06
  • 2021-10-08
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多