按钮单击时切换功能

时间:2013-09-26 12:05:15

标签: jquery

单击按钮时,请参阅以下代码以在两个功能之间切换。但是点击后按钮变得不可见,并且总是调用第二个函数。为什么!?

        $('#btnClick').click(function () {
               $(this).toggle(
                    //$('tr').toggleClass("highlight");
                    function () {
                        alert("Function one called");
                    },
                    function () {
                        alert("second function called");
                });
        });

谢谢!

4 个答案:

答案 0 :(得分:1)

多数民众赞成因为切换(功能,功能...)在1.9+中删除了你应该做的事情是这样的

var tog = false;
$('#btnClick').click(function () {
    tog = !tog;
    if (tog) {
        alert("Function one called");
    } else {
        alert("second function called");
    }
});

答案 1 :(得分:1)

如果您愿意,没有全局变量

$('#btnClick').click(function () {
    var clicked = $(this).data('clicked') || 0;
    if (clicked % 2 == 0) {
        alert("Function one called");
    } else {
        alert("second function called");
    }
    $(this).data('clicked', clicked + 1);
});

答案 2 :(得分:0)

<强> Live Demo

尝试使用If条件,您将获得要求

<强> HTML:

<input type="button" id="btnClick" value="button 1"/>
<input type="button" id="btnClick1" value="button 2"/>

<强> JQuery的:

var i=true;
$('#btnClick').click(function () {
    i= !i;
    if (i) {
        alert("2nd function called");
        $('#btnClick1').toggle();
    } else {
        alert("1st function called");
        $('#btnClick1').toggle();
    }
});

答案 3 :(得分:-1)

$('#btnClick').toggle(function () {
                        alert("Function one called");// work on first click
                    },
                    function () {
                        alert("second function called");// work on second click

        });

参考 toggle

新版本的jquery 1.9 +切换的

更新将在新版本中删除

var stat= 0;
$('#btnClick').click(function () {
    stat= !stat;
    if (stat) {
        alert("Function one called");
    } else {
        alert("second function called");
    }
});