繁体   English   中英

将多个事件绑定到存储在变量中的元素

[英]Binding multiple events to elements stored in variable

我知道,如果我需要多次引用此元素,那么将HTML元素的引用放入变量中是一种好习惯。 但是我在制作项目时遇到了这个问题。 如何将多个相同事件绑定到存储在变量中的元素?

现在,我以这种方式处理它:

var producerEl = $("#js-producer");
var brandEl = $("#js-brand");
var seriesEl = $("#js-series");

bind(seriesEl);
bind(brandEl);
bind(seriesEl);

function bind($el) {
    $el.on("keypress", function () {
       // some code..
    });
}

我需要类似$(producerEl,brandEl,seriesEl).on ...

var producerEl = $("#js-producer");
var brandEl = $("#js-brand");
var seriesEl = $("#js-series");

  producerEl.add(brandEl).add(seriesEl).on("click", function () {
        alert('hello');
    });

如果您试图保持代码可读性,那么我可以建议这种方法吗?

$("#js-producer, #js-brand, #js-series").on('keypress', function () { });

嗯。 如果您仅使用这些选择器,请不要在乎“我知道这是件好事”。 最好的解决方案是David Smith提供的解决方案。

无论如何,jQuery正在使用sizzle选择器引擎,后者拥有自己的缓存。 您可以要求$(“#js-producer,#js-brand,#js-series”)

结果将被缓存并重新使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM