Jquery 方法不处理动态添加的项

Jquery 方法不处理动态添加的项,jquery,ajax,dynamic,Jquery,Ajax,Dynamic,我有几百个 <button class="lb"> <div class="l"></div> <div class="c">2</div> <div class="r"></div> </button> 但这只适用于pageload上加载的元素,而不适用于新的per-JS插入元素 我找不到我遗漏的东西,如果有任何提示,我将不胜感激 谢谢! Raphael您缺少将.on()用作代理的一些

我有几百个

<button class="lb">
  <div class="l"></div>
  <div class="c">2</div>
  <div class="r"></div>
</button>
但这只适用于pageload上加载的元素,而不适用于新的per-JS插入元素

我找不到我遗漏的东西,如果有任何提示,我将不胜感激

谢谢!
Raphael

您缺少将
.on()
用作代理的一些概念:

$(' --CONTEXT-- ').on('click', ' -- YOUR ELEMENT -- ', function () {

});

// like-wise to "unbind" using the new methodology
// you would use .off()
$(' --CONTEXT-- ').off('click', '-- YOUR ELEMENT --');
因此,以示例形式来说:

$(document).on('click', '.lb', function () { });
但当然,这会使上下文(或它将“冒泡”到的位置)变得太高。尝试在任何可能出现此项的位置使用大型父项,这将提高性能

$('#someParent').on('click', '.lb', function () { });

您缺少将
.on()
用作委托的一些概念:

$(' --CONTEXT-- ').on('click', ' -- YOUR ELEMENT -- ', function () {

});

// like-wise to "unbind" using the new methodology
// you would use .off()
$(' --CONTEXT-- ').off('click', '-- YOUR ELEMENT --');
因此,以示例形式来说:

$(document).on('click', '.lb', function () { });
但当然,这会使上下文(或它将“冒泡”到的位置)变得太高。尝试在任何可能出现此项的位置使用大型父项,这将提高性能

$('#someParent').on('click', '.lb', function () { });

.lb
文档的父级使用事件委派。正如@Zolton Toth所指出的,您应该使用
off
而不是弃用的
unbind

$(document).on("click", ".lb", function(event) {
  $('.c', this).html(parseInt($('.c', this).html()) + 1);
  $(this).off('mouseout');
});

.lb
文档的父级使用事件委派。正如@Zolton Toth所指出的,您应该使用
off
而不是弃用的
unbind

$(document).on("click", ".lb", function(event) {
  $('.c', this).html(parseInt($('.c', this).html()) + 1);
  $(this).off('mouseout');
});

+将不推荐使用的
.unbind()
更改为
.off()
oh。。。这句话是我在上面使用另一种方法时留下的。。。谢谢@RaphaelJeger:那么你不想解除任何绑定?+将不推荐使用的
.unbind()
更改为
.off()
哦。。。这句话是我在上面使用另一种方法时留下的。。。谢谢@RaphaelJeger所以您不想解除任何绑定?查看,转到直接和委派事件部分。它向您展示了其中的两个示例。查看,转到直接和委派事件部分。它向您展示了其中的两个示例。您希望尽量不要使用
$(document)
,这就是
.live()
以及用作上下文的内容。尝试使用较低级别的家长,这样在委派活动期间就不会有太多的冒泡。是的,谢谢!我有一个周围的div,我使用它的类作为上下文。我想我应该这样做?是的,只需确保
.lb
不会出现在其他任何地方(至少是您希望使用此单击功能的任何地方)。你要试着不要使用
$(document)
,这就是
.live()
等用来作为上下文的东西。尝试使用较低级别的家长,这样在委派活动期间就不会有太多的冒泡。是的,谢谢!我有一个周围的div,我使用它的类作为上下文。我想我应该这样做?是的,只需确保
.lb
不会出现在其他任何地方(至少是您希望使用此单击功能的任何地方)。你会准备好的。