2011-09-21 86 views
1

所以我从class =“list”的元素开始,它们被定义为.sortable。现在,如果我通过jquery创建class =“list”的另一个元素,它不会继承我已经定义的相同定义。将jqueryUI交互属性应用于新添加的DOM元素?

现在,我通过将定义放入函数中,然后在初始加载时以及每次添加新元素时调用函数来解决此问题。这是最好的方法吗?还是有更合适的方法来做到这一点?

http://jsfiddle.net/S24d4/11/

+0

如果更改DOM结构,则需要再次调用函数以应用于新元素。我不确定这是否是最好的方法,但你需要给他们打电话 - 有些人又如何 - –

回答

0

你可能想jQuery's .live() function。这会将事物绑定到稍后添加的DOM元素。

+0

关于live()的一点是,它基本上和我做的一样。看来我只能将它与我的按钮的点击事件联系起来......至少,这是我能想到的最好的。理想情况下,如果live()功能可以用于“创建”事件,那么它似乎适合账单。我迄今发现的最接近的东西是http://plugins.jquery.com/project/livequery插件。 – dispake

+0

哦,我误解了 - 我以为你在绑定一个处理程序,而不是调用它的方法。虽然看起来很容易创建一个自定义事件到你想要的。虽然从未尝试过。 –