javascript - JS document.on 用于缓存元素

标签 javascript jquery caching

我有这样的代码:

$(document).on("click", "#element_1, #element_2", function() {
  alert("clicked")
})

假设我缓存了 element_1element_2,那么我将如何编写(如果可能)eventHandler?

element_1 = $("#element_1")
element_2 = $("#element_2")

// obviously below fails with a syntax error because an object has been passed rather than a string selector
$(document).on("click", element_1, element_2, function() {
  alert("clicked")
})

最佳答案

您可以使用 .add() 将一个或多个 jQuery 对象合并到一个 jQuery 对象集合中,该集合通过第二个参数传递给 .on()

var element_1 = $("#element_1");
var element_2 = $("#element_2");
var element_3 = $("#element_3");

$(document).on("click", element_1.add(element_2, element_3 /* element_N */)
 , function(e) {
  alert(e.target.id + " clicked")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<div id="element_1">element 1</div>
<div id="element_2">element 2</div>
<div id="element_3">element 3</div>

关于javascript - JS document.on 用于缓存元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44426450/

相关文章:

javascript - 如何在不影响页面加载速度的情况下加载谷歌广告?

asp.net-mvc - ASP.NET MVC 3中的OutputCache行为

django - 通过 Nginx 和 SEO 优化提供不会过期的内容

javascript - 如何等到 .done() 完成后再继续

javascript - 正则表达式替换的意外结果

javascript - 如何使用 jQuery 更改 SVG 元素属性?

caching - 启用缓存后如何持续部署 Web 应用程序?

javascript - 为什么选择不下拉?

javascript - 用户将学生成绩输入到文本框输出中,然后计算最终的字母成绩

javascript - 向嵌套类添加新元素