如何使用实时切换事件?

Bru*_*oLM 7 jquery events

我有以下代码

$(".reply").toggle
(
    function ()
    {
        x1();
    },
    function ()
    {
        x2();
    }
);
Run Code Online (Sandbox Code Playgroud)

我需要使用live,所以新的元素也将受到约束.有一些语法可以做到吗?或者我是否需要toggleclick活动中实施?

我正在使用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()因为你可以限制捕获区域,所以性能要高得多.