Прокси событий использует принцип всплеска событий (всплывание событий означает, что событие будет передаваться уровень за уровнем его родительскому элементу)., добавляем событие в родительское,Судя по источнику события,Выполнение операций над соответствующими дочерними элементами,Прокси событий может, во-первых, значительно сократить количество привязок событий и повысить производительность, во-вторых, он может позволить вновь добавленным подэлементам выполнять те же операции;。
<script>
$(function(){
var $div1 = $('#div1');
var $div2 = $('#div2');
$div1.click(function(){
alert($(this).html());
});
$div2.click(function(){
alert($(this).html());
});
});
</script>
<div id="div1" style="width:200px; height:200px; background: red;">
<div id="div2" style="width:100px; height:100px;background: yellow;">
Ха-ха
</div>
</div>
При щелчке по дочернему элементу div его событие щелчка будет передано его родительскому элементу, а также будет запущено событие щелчка родительского элемента. Это всплытие событий.
$(function(){
$ali = $('#list li');
$ali.click(function() {
$(this).css({background:'red'});
});
})
<ul id="list">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
$(function(){
$list = $('#list');
// родительский элемент ул Приходите как агент Событие щелчка дочернего элемента li
$list.delegate('li', 'click', function() {
// $(this) представляет объект дочернего элемента, по которому в данный момент щелкнули.
$(this).css({background:'red'});
});
})
<ul id="list">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
delegate(childSelector,event,function)