Jquery 将客户端事件绑定到其他函数

Jquery 将客户端事件绑定到其他函数,jquery,Jquery,最初加载页面时,我有以下单击事件设置(正常工作): 稍后(发生某些事情后),我想更改此单击以指向另一个名为 secondFunction(); 最有效的方法是什么 我应该解开绑好吗?这可以在一行中完成吗?一种可能的解决方案是使用一个标志来跟踪是否发生了事件 var somethingOccurred = false; $('#thisIsTheElement').click(function() { if(somethingOccurred){ secondFuncti

最初加载页面时,我有以下
单击
事件设置(正常工作):

稍后(发生某些事情后),我想更改此单击以指向另一个名为

secondFunction();
最有效的方法是什么


我应该解开绑好吗?这可以在一行中完成吗?

一种可能的解决方案是使用一个标志来跟踪是否发生了
事件

var somethingOccurred = false;
$('#thisIsTheElement').click(function() {
    if(somethingOccurred){
        secondFunction();
    } else {
        firstFunction();
    }
});

//when something occurs
somethingOccurred = true

另一种选择可能是这样的:

$('#thisIsTheElement').on('click', firstFunction);
后来:

$('#thisIsTheElement').off('click', firstFunction).on('click', secondFunction);

文件

此代码将在两个函数之间切换

function firstFunction() {
    alert('First handler: ' + $(this).text());
    $(this).one("click", secondFunction);
}
function secondFunction() {
    alert('Second handler: ' + $(this).text());
    $(this).one("click", firstFunction);
}
$("div").one("click", firstFunction);
此代码将运行一次
firstFunction
和下一次以后的
secondFunction

function firstFunction() {
    alert('First handler: ' + $(this).text());
    $(this).on("click", secondFunction);
}
function secondFunction() {
    alert('Second handler: ' + $(this).text());
}
$("div").one("click", firstFunction);
function firstFunction() {
    alert('First handler: ' + $(this).text());
    $(this).on("click", secondFunction);
}
function secondFunction() {
    alert('Second handler: ' + $(this).text());
}
$("div").one("click", firstFunction);