jQuery嵌套事件

时间:2009-10-03 23:23:29

标签: jquery events nested

有时在我的jQuery脚本中,除非我嵌套事件,否则它们不起作用。例如......

$(selector).click(function(){
    //do something such as create an element
    $(selector).click(function(){
        //do something with the created element
    });
});

这可以吗?我一直试图避免它,因为它似乎不是正确的做事方式。但有时它只是不起作用所以我必须这样做。

2 个答案:

答案 0 :(得分:1)

您应该嵌套的唯一情况是,在初始点击后重新分配点击行为。我不确定你是否想要连锁,例如

$('el')
.click(function(){})
.hover(function(){})

完全取决于你在做什么。

答案 1 :(得分:0)

如果要将任何事件应用于元素,则必须在创建元素后执行此操作。

在元素上设置事件的jQuery语句自然只能在当时存在的元素上设置它。在语句之后创建的任何元素都不会神奇地获取您之前在元素上设置的事件。

因此,如果您在事件中创建元素并想要为其分配事件,则必须在事件中也这样做。