我一直在使用jquery livequery插件和jquery一起生活。但是现在我使用1.4似乎jquery livequery不能100%工作。
所以我不确定如何解决这个问题
我在livequery中有这个
$('#Description').livequery(function ()
{
$('#Description').htmlarea({
toolbar: [
["bold", "italic", "underline", "strikethrough", "|", "subscript", "superscript"],
["increasefontsize", "decreasefontsize"],
["orderedlist", "unorderedlist"],
["indent", "outdent"],
["link", "unlink"]
]
});
});
所以每次我加载我的页面。它实际上会在livequery和显示器中运行该代码,如果我转到另一个ajax选项卡并返回它会再次进入此状态。
现在我不知道如何将它更改为.live()jquery 1.4,因为我只是尝试这样做
$('#Description').live(function ()
{
$('#Description').htmlarea({
toolbar: [
["bold", "italic", "underline", "strikethrough", "|", "subscript", "superscript"],
["increasefontsize", "decreasefontsize"],
["orderedlist", "unorderedlist"],
["indent", "outdent"],
["link", "unlink"]
]
});
});
它似乎不起作用。该插件没有绑定,并且不显示丰富的html编辑器。
答案 0 :(得分:2)
在这种情况下你仍然应该使用.livequery()
......它们以不同的方式运行,.live()
不适合运行插件,因为元素是动态创建的。
.livequery()
- 查找新元素,在找到它们时执行
.live()
- 收听事件以冒泡DOM并执行它们,它是为了处理来自新元素或旧元素的事件而不是在添加它们时提供关怀,但它并不是那么有用用于在新创建的元素上执行插件。
您在1.4.1中对.livequery()
有什么问题? (1.4.2 is out by the way!)