Javascript jQuery-如何在多个变量上分配事件?

Javascript jQuery-如何在多个变量上分配事件?,javascript,jquery,Javascript,Jquery,我有两个或两个以上的变量是用jQuery选择的,我想用相同的函数为所有变量分配单击事件。或一个变量和一个选择器。我该怎么做?我可以做到: function click_event_1(var_1, var_2) { var_1.on("click", function() { alert(1); }); var_2.on("click", function() { alert(1); }); } function click_ev

我有两个或两个以上的变量是用jQuery选择的,我想用相同的函数为所有变量分配单击事件。或一个变量和一个选择器。我该怎么做?我可以做到:

function click_event_1(var_1, var_2) {
    var_1.on("click", function() {
        alert(1);
    });
    var_2.on("click", function() {
        alert(1);
    });
}

function click_event_2(var_1, selector) {
    var_1.on("click", function() {
        alert(1);
    });
    jQuery(selector).on("click", function() {
        alert(1);
    });
}

但是我只想为每个事件编写一个函数。

您可以使用它来添加到jQuery集合,无论它是元素还是选择器:

var_1.add(var_2).click
或:

事件将应用于集合中的所有元素。

您可以使用将添加到jQuery集合的元素,无论是元素还是选择器:

var_1.add(var_2).click
或:

事件将应用于集合中的所有元素。

您可以使用将添加到jQuery集合的元素,无论是元素还是选择器:

var_1.add(var_2).click
或:

事件将应用于集合中的所有元素。

您可以使用将添加到jQuery集合的元素,无论是元素还是选择器:

var_1.add(var_2).click
或:

事件将应用于集合中的所有元素。

您(至少)有两个选择:

  • 使用命名函数:

    function click_event_1(var_1, var_2) {
        var_1.on("click", handler);
        var_2.on("click", handler);
    
        function handler() {
            alert(1);
        }
    }
    
  • 使用,它将创建一个新的jQuery集,并将调用该集的集合与作为参数提供的集合进行并集:

    function click_event_1(var_1, var_2) {
        var_1.add(var_2).on("click", function() {
            alert(1);
        });
    }
    
  • 两者都适用于第二个示例(
    add
    接受选择器和集合)。

    您(至少)有两个选择:

  • 使用命名函数:

    function click_event_1(var_1, var_2) {
        var_1.on("click", handler);
        var_2.on("click", handler);
    
        function handler() {
            alert(1);
        }
    }
    
  • 使用,它将创建一个新的jQuery集,并将调用该集的集合与作为参数提供的集合进行并集:

    function click_event_1(var_1, var_2) {
        var_1.add(var_2).on("click", function() {
            alert(1);
        });
    }
    
  • 两者都适用于第二个示例(
    add
    接受选择器和集合)。

    您(至少)有两个选择:

  • 使用命名函数:

    function click_event_1(var_1, var_2) {
        var_1.on("click", handler);
        var_2.on("click", handler);
    
        function handler() {
            alert(1);
        }
    }
    
  • 使用,它将创建一个新的jQuery集,并将调用该集的集合与作为参数提供的集合进行并集:

    function click_event_1(var_1, var_2) {
        var_1.add(var_2).on("click", function() {
            alert(1);
        });
    }
    
  • 两者都适用于第二个示例(
    add
    接受选择器和集合)。

    您(至少)有两个选择:

  • 使用命名函数:

    function click_event_1(var_1, var_2) {
        var_1.on("click", handler);
        var_2.on("click", handler);
    
        function handler() {
            alert(1);
        }
    }
    
  • 使用,它将创建一个新的jQuery集,并将调用该集的集合与作为参数提供的集合进行并集:

    function click_event_1(var_1, var_2) {
        var_1.add(var_2).on("click", function() {
            alert(1);
        });
    }
    

  • 两者都适用于第二个示例(
    add
    接受选择器和集合)。

    您可以为这些元素添加一个类

    var element1 = $('#element1');
    element1.addClass('clickable');
    var element2 = $('#element2');
    element2.addClass('clickable');
    
    // for elements inside an iframe
    var iframeElement1 = $('#iframeElement1', $('iframe').contents());
    iframeElement1.addClass('clickable');
    
    // you can add more elements here
    
    $('.clickable').on('click', function (event) {
       // do click logic here
    }) 
    

    您可以为这些元素添加一个类

    var element1 = $('#element1');
    element1.addClass('clickable');
    var element2 = $('#element2');
    element2.addClass('clickable');
    
    // for elements inside an iframe
    var iframeElement1 = $('#iframeElement1', $('iframe').contents());
    iframeElement1.addClass('clickable');
    
    // you can add more elements here
    
    $('.clickable').on('click', function (event) {
       // do click logic here
    }) 
    

    您可以为这些元素添加一个类

    var element1 = $('#element1');
    element1.addClass('clickable');
    var element2 = $('#element2');
    element2.addClass('clickable');
    
    // for elements inside an iframe
    var iframeElement1 = $('#iframeElement1', $('iframe').contents());
    iframeElement1.addClass('clickable');
    
    // you can add more elements here
    
    $('.clickable').on('click', function (event) {
       // do click logic here
    }) 
    

    您可以为这些元素添加一个类

    var element1 = $('#element1');
    element1.addClass('clickable');
    var element2 = $('#element2');
    element2.addClass('clickable');
    
    // for elements inside an iframe
    var iframeElement1 = $('#iframeElement1', $('iframe').contents());
    iframeElement1.addClass('clickable');
    
    // you can add more elements here
    
    $('.clickable').on('click', function (event) {
       // do click logic here
    }) 
    

    看一看。此外,没有什么可以阻止他声明一次函数并将其传递给
    的每次调用。单击
    。绑定事件处理程序时不必使用函数表达式。“但我只想为每个事件编写一个函数。”-为什么?解释您试图实现的目标。hi@Uri,您可以使用要绑定事件的元素的
    CLASS
    。此外,没有什么可以阻止他声明一次函数并将其传递给
    的每次调用。单击
    。绑定事件处理程序时不必使用函数表达式。“但我只想为每个事件编写一个函数。”-为什么?解释您试图实现的目标。hi@Uri,您可以使用要绑定事件的元素的
    CLASS
    。此外,没有什么可以阻止他声明一次函数并将其传递给
    的每次调用。单击
    。绑定事件处理程序时不必使用函数表达式。“但我只想为每个事件编写一个函数。”-为什么?解释您试图实现的目标。hi@Uri,您可以使用要绑定事件的元素的
    CLASS
    。此外,没有什么可以阻止他声明一次函数并将其传递给
    的每次调用。单击
    。绑定事件处理程序时不必使用函数表达式。“但我只想为每个事件编写一个函数。”-为什么?解释您试图实现的目标。hi@Uri,您可以使用要绑定事件的元素的
    CLASS
    。谢谢,但是一个元素可能位于
    中,无法直接选择。请使用$(''iframelement1',$('iframe').contents())谢谢,但是一个元素可能在
    中,不能直接选择。使用$('iframelement1',$('iframe').contents())谢谢,但是一个元素可能在
    中,不能直接选择。使用$('iframelement1',$('iframe').contents())谢谢,但一个元素可能位于
    中,不能直接选择。请使用$('iframelement1',$('iframe').contents()