0

我一直在使用 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编辑器不显示。

4

1 回答 1

2

在这种情况下你仍然应该使用.livequery()......它们以不同的方式运行,并且.live()不适合运行插件,因为元素是动态创建的。

.livequery()- 寻找新元素,找到它们时执行。
.live()- 监听事件以使 DOM 冒泡并在它们上执行,它用于处理来自新元素或旧元素的事件,而不关心它们何时添加,但对于在新创建的元素上执行插件并不是那么有用。

.livequery()您在 1.4.1中遇到了什么问题?(顺便说一下 1.4.2 出来了!

于 2010-05-11T23:30:32.067 回答