如何使用执行多个jQuery事件的新方法来执行实时事件(针对新内容的注入时):
$('.foo', this).bind({
click: function() {
//do thing
},
mouseover: function() {
//do other thing
},
mouseout: function() {
//do other other thing
},
focus: function() {
//do other other other thing
}
});
例如,在上面我需要任何内容与点击和所有其他事件绑定。
基本上,我试图避免写作:
$('.foo', this).live('click', function() {
//do thing
}
});
$('.foo', this).live('mouseover', function() {
//do other thing
}
});
$('.foo', this).live('mouseout', function() {
//do other other thing
}
});
$('.foo', this).live('focus', function() {
//do other other other thing
}
});
答案 0 :(得分:4)
.........
$('.fastlook', this).live('click', function() {
// more code.......
}
});
修改强>
如果要分配多个事件,只需将它们与空格分开,例如:
$("selector").live('click mousemove mousedown', function(){
// more code.............
});
..........
eventTypeA包含的字符串 JavaScript事件类型,例如“点击” 或“keydown。”截至jQuery 1.4 字符串可以包含多个, 空格分隔的事件类型或自定义 事件名称。
答案 1 :(得分:4)
如果你希望每个活动都做独特的事情,那么你手上就会有一个冗长的任务。如果你需要每个事件都做同样的事情,这将是一个更短的任务。你可以绑定多个事件,但它仍然有点冗长:
$('.foo', this).live('mouseover mouseout', function(e) {
if (e.type == 'mouseover') {
// do something on mouseover
} else
if (e.type == 'mouseout') {
// do something on mouseout
}
});
而且,如果他们都做了同样的事情,这会更简单:
$('.foo', this).live('mouseover mouseout', function(){
// do something on both events
});