jQuery的多元素变量事件处理程序

是这样的可能吗? 我有多个变量设置为DOM元素,而不是再次点击DOM来设置事件处理程序,我想使用我已经设置的变量。

var a = $("#foo");
var b = $("#bar");

a,b.on("click", function() {

});

解决方案#1

您可以使用.add()链接缓存的元素。

var a = $("#foo");
var b  = $("#bar");

(a).add(b).on("click", function() {
  alert('Handler registered');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="foo">Foo</button>
<button id="bar">Bar</button>

在JQuery中,您可以使用与CSS中相同的符号来感染多个元素,只需使用逗号分隔它们即可。

$('#foo, #bar').on("click", function () {})

你可以使用一个数组作为$()的参数,它会创建一个新的集合。 它不会再次击中DOM。

$([a, b]).on("click", function() {
    ...
});

var a = $('#foo');
var b = $('#bar');

$([a, b]).on("click", function() {
    alert('Does this work?');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="foo"> Foo </button>
<button id="bar"> Bar </button>
链接地址: http://www.djcxy.com/p/83469.html

上一篇: jquery event handler on multiple element variables

下一篇: how to reuse jQuery code in different selectors?