1

在我的代码历史中,我经常写jquery代码,像这样,在近元素上写事件函数,昨天,我的朋友告诉我,你可以在他们近亲元素上写事件函数,如下代码:

$(document).ready(function() {
// write the event on a's parent 
$("#footer").on("click",function(e) {

})
// I often write like this
$("#footer a.first").click(function() {
   $('form').submit() 
})
//or write like this
$('#footer a').last().bind("click",function() {
    $('form')[0].reset()
})
}) 

我把代码放在了jsfiddle: http: //jsfiddle.net/Jackyhua/5Z9Lr/ 有没有人可以告诉一些商品和例子让我相信真实的?

4

1 回答 1

0

我想你正在寻找的是

// write the event on a's parent 
$("#footer").on("click", 'a.first', function(e) {
    $('form').submit() 
})
$("#footer").on("click", 'a:last', function(e) {
    $('form')[0].reset()
})

演示:小提琴

它使用事件委托来触发处理程序。它主要用于当您必须为动态添加的元素注册处理程序时。如果元素是动态添加的,则正常的处理程序注册不会将处理程序添加到事件注册代码执行后添加的元素。在这种情况下,我们向父元素添加了一个委托处理程序,该处理程序将在使用选择器执行代码时出现,该选择器过滤必须触发事件的实际元素作为.on()方法的第二个参数。

在这种特殊情况下,它没有太大区别。

于 2013-07-30T03:05:50.140 回答