有没有办法在“文档”以外的其他上下文中运行一组侦听器?
这是限制选择器的好方法。
这样的事情:
$(".main", function(){
$(".child-1").click(function() { /* .... */ }); // .main .child
$(".child-2").click(function() { /* .... */ }); // .main .child-2
$(".child-3").click(function() { /* .... */ }); // .main .child-3
});
而不是:
$(".main .child-1").click(function() { /* .... */ }); // .main .child
$(".main .child-2").click(function() { /* .... */ }); // .main .child-2
$(".main .child-3").click(function() { /* .... */ }); // .main .child-3
通过使用它,您可以使用范围而不是一个大(文档)范围。
那么,那些在jQuery中存在的东西?尝试谷歌,真的找不到任何东西..
答案 0 :(得分:2)
最接近的是这样的事情
var $ctx = $('#context');
$ctx.find('.something').click(function(){ });
答案 1 :(得分:-1)
$('.main').on("click", ".child-1", function() {
}).on("click",".child-2", function() {
}).on("click",".child-3", function() {
});
或者,如果他们都这样做......
$('.main').on("click", ".child-1, .child-2, .child-3", function() {
});
http://jsperf.com/on-click-performance - 您会看到这种方式比其他解决方案更快。