2015-11-29 3 views
1

У меня есть функция прямого клика, которая довольно длинная и в какой-то момент я использую на ней 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)); 

, но это не работает.

Любая помощь?

+1

использовать '$ ("# ID"). Жить ("щелчок", 'clickEvent') ; ' –

+2

' .live() 'устарел, используйте' .on() 'для начала –

+0

@TamilSelvan вы могли бы разработать? Как передать переменную 'e'? Я попробовал '$ (« # id »). Live (« click »,« clickEvent (e) »);' но не работал. –

ответ

1

почему бы не использовать .on (.live осуждается) и использовать, если условие внутри, что вместо использования .die()

$("#id").on("click", function(e) { 
     //30+ lines of code 
     if([some condition]){ 
      //do nothing 
     } 
     else{ 
      //code that should work on click 
     } 
    }); 
Смежные вопросы