我有以下代码
$(".reply").toggle
(
function ()
{
x1();
},
function ()
{
x2();
}
);
Run Code Online (Sandbox Code Playgroud)
我需要使用live,所以新的元素也将受到约束.有一些语法可以做到吗?或者我是否需要toggle在click活动中实施?
我正在使用jQuery 1.4.2.
Che*_*try 13
刚刚修改了fehay的答案,以便它不依赖于jQuery在期间不附加重复的事件处理程序 toggle()
$(".reply").live('click', function () {
var toggled = $(this).data('toggled');
$(this).data('toggled', !toggled);
if (!toggled) {
x1();
}
else {
x2();
}
});
Run Code Online (Sandbox Code Playgroud)
此外,请记住,live由于事件委托的工作方式,选择器必须尽可能具体.每次点击文档时,jQuery必须爬上树检查元素是否与选择器匹配.出于同样的原因,.delegate()因为你可以限制捕获区域,所以性能要高得多.