Javascript 在不同事件处理程序之间重用代码

Javascript 在不同事件处理程序之间重用代码,javascript,jquery,Javascript,Jquery,我有一个代码块,我想在触发单击时在不同的场景中调用它,这取决于事件是直接的还是委托的 但是,将代码更改为上的,它只能部分工作 我有一个密码: $(document).on('click','.selected-option',function(event){ //lot of code 我想使用: $('.selected-option').click(function(event){ //lots of code } 我想一起使用它,比如: if (some condition) {

我有一个代码块,我想在触发单击时在不同的场景中调用它,这取决于事件是直接的还是委托的

但是,将代码更改为上的,它只能部分工作

我有一个密码:

$(document).on('click','.selected-option',function(event){
//lot of code
我想使用:

$('.selected-option').click(function(event){ //lots of code  }
我想一起使用它,比如:

if (some condition)
{
    $(document).on('click','.selected-option',function(event){
}
else   
{
    $('.selected-option').click(function(event){
}
您不必使用匿名函数来处理事件。只需编写一个常规函数:

function handleClick(event) {
  // lots of code
}
然后将函数绑定到任意数量的事件:

if (some condition) {
  $(document).on('click','.selected-option', handleClick);  
else {
  $('.selected-option').click(handleClick);
}
您不必使用匿名函数来处理事件。只需编写一个常规函数:

function handleClick(event) {
  // lots of code
}
然后将函数绑定到任意数量的事件:

if (some condition) {
  $(document).on('click','.selected-option', handleClick);  
else {
  $('.selected-option').click(handleClick);
}

定义一个功能并完成工作

var funCalled = function(){
    //your detailed actions
}
并在不同的条件下调用它

if (some condition) {
    $(document).on('click','.selected-option',function(event){
        funCalled()
    })
} else {
    $('.selected-option').click(function(event){
        funCalled()
    });
}

定义一个功能并完成工作

var funCalled = function(){
    //your detailed actions
}
并在不同的条件下调用它

if (some condition) {
    $(document).on('click','.selected-option',function(event){
        funCalled()
    })
} else {
    $('.selected-option').click(function(event){
        funCalled()
    });
}

这两行不是都将
单击
侦听器附加到
。所选选项
?如果是这样的话,为什么不将条件放在函数中?这两行不是都将
单击
侦听器附加到
。所选选项
?如果是这样,为什么不把条件放在函数中呢?