为了账号安全,请及时绑定邮箱和手机立即绑定

toggle()方法绑定多个函数,没有反应

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

    <head>

        <title>toggle()方法绑定多个函数</title>

        <script src="http://libs.baidu.com/jquery/1.8.2/jquery.js" type="text/javascript"></script>

        <link href="style.css" rel="stylesheet" type="text/css" />

    </head>

    <body>

        <h3>toggle()方法绑定多个函数</h3>

        <input id="btntest" type="button" value="点一下我" />

        <div>我是动态显示的</div>

        

        <script type="text/javascript">

           $(function () {

                $("#btntest").bind("click", function () {

                    $("div").toggle(

                        function(){

                            $(this).hide();

                        }, function(){

                            $(this).show();

                        } );

                } )

            });

        </script>

    </body>

</html>

这个可以隐藏 ,但再点击按钮时,就不能显示了.求解答?

正在回答

2 回答

不知道你只点按钮的话,怎么能把div隐藏掉的…………

其实你可以自己多试试。点击btntest按钮的时候,响应的是click事件,然后click事件调用toggle方法。而toggle里面的方法还没有执行。而toggle()方法是绑定在"div"上面的, 所以你此时要点击div,toggle里面的方法才会执行。点第一次div的时候,div就因为hide()被隐藏了,你根本点击不到div了。怎么可能还会再显示出来呢。

如果你把你的代码换成这样,再点点,应该就可以明白了。

$(function () {

                $("#btntest").bind("click", function () {

                    $("div").toggle( 

                        function(){

                            $(this).html("苹果");

                        }, function(){

                            $(this).html("梨子");

                        } );

                } )

            });


0 回复 有任何疑惑可以回复我~
#1

lh的妹妹 提问者

谢谢啦
2015-07-19 回复 有任何疑惑可以回复我~

现在toggle好像不能默认绑定多个函数了,如果你只是要切换显隐状态,可以简写成

$("div").toggle();


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

toggle()方法绑定多个函数,没有反应

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信