可重复使用的实时点击功能

reusable live click function

我有一个很长的实时点击功能,有一次我在上面使用 die()。在代码的另一点我需要重新运行它。

$("#id").live("click", function(e) {
    //30+ lines of code
    if([some condition]){
        $("#id").die("click");
    }
});

function foo(){
    $("#id").live("click", function(e) {
        //Exact same code as before.. but I don't want to re-type it.
    });
}

我试过像这样预定义函数:

function clickEvent(e){
    //the code
}

$("#id").live("click", clickEvent(e));

但这根本不起作用。

有什么帮助吗?

为什么不使用 .on.live 已弃用)并在其中使用 if 条件而不是使用 .die()

    $("#id").on("click", function(e) {
        //30+ lines of code
        if([some condition]){
          //do nothing
        }
        else{
          //code that should work on click 
        }
    });