事件中的jquery -function只有一次

时间:2013-08-18 05:53:48

标签: javascript-events jquery

我有以下代码

<input id="inputID1" value="click me" type="button" />
<input id="inputID2" value="click me again!" type="button" />

脚本

$("#inputID1").click(function()
                     {alert("inputID1 click");
                     $("#inputID2").click(function()
                                  {funcWaitToInput();
                                  return;});
                     }
                    );
function funcWaitToInput()
{alert("just one time");}

我的意思是  点击inputID1后, 等到inputID2 cliked并在第一次funcWaitToInput()点击中运行inputID2函数,

但是,每次按inputID2按钮功能再次发生时 我希望在inputID1点击等待点击inputID2后,funcWaitToInput()功能只运行第一次点击,

我一直在寻找如何做到而没有找到

jsfiddle 中的代码 http://jsfiddle.net/bniya_dev/UfwHF/

3 个答案:

答案 0 :(得分:1)

这就是jQuery的.one()方法的用途:

$("#inputID1").click(function() {
    alert("inputID1 click");
    $("#inputID2").one('click', function() {
        alert("just one time");
    });
});

这是小提琴:http://jsfiddle.net/UfwHF/2/

答案 1 :(得分:0)

我几乎理解你的问题,我想:

$("#inputID1").click(function(){
    alert("inputID1 click");
    $("#inputID2").bind('click',funcWaitToInput);
});

function funcWaitToInput() {
    alert("just one time");
    $("#inputID2").unbind('click',funcWaitToInput);
};

答案 2 :(得分:0)

在你的功能中添加一行。

function funcWaitToInput()
{alert("just one time");
 $('#inputID2').attr('onclick','').unbind('click');
}