【问题标题】:JQuery 'live' for selector?选择器的 JQuery 'live'?
【发布时间】:2010-05-19 15:52:59
【问题描述】:

我希望拥有与“live”相同的行为,但不使用事件。这可能吗?我需要这个,因为我使用的是不同的 javascript 文件,它创建了一些我需要附加 css 类的元素。

一旦将这样的元素添加到 dom 中,应执行以下代码: $(".myClass").addClass("myNewClass");

这可能吗?

【问题讨论】:

    标签: jquery selector live


    【解决方案1】:

    liveQuery 插件可以做到这一点。

    http://brandonaaron.net/code/livequery/docs

    来自文档: Live Query 还能够在匹配新元素时触发一个函数(回调),并在一个元素不再匹配时触发另一个函数(回调) .


    编辑:

    这将是一个使用 livequery 的代码解决方案。

    $('.myClass').livequery(function() { $(this).addClass('myNewClass') });
    

    【讨论】:

    • 另一种选择是在表单更改时重新绑定,例如在 ajax 成功时。 Livequery 可以稍微减慢速度。
    • @James Westgate - 你的意思是什么形式? OP 想要为另一个无法编辑的 js 文件添加到 DOM 的元素添加一个类。没有事件可以绑定(或重新绑定)它。
    【解决方案2】:

    也许我不明白你在问什么,但如果你使用的是 jQuery,为什么不能使用事件驱动更新?

    Patrick 建议的 liveQuery 解决方案(效果很好)在后台使用事件,就像“live”一样。

    【讨论】:

    • 因为我的情况很奇怪;)我无法修改我正在使用的 JavaScript 代码,也无法触发事件。我确实知道它用于创建元素的类名,所以认为这对我来说是最好的解决方案。
    猜你喜欢
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    • 2011-03-09
    相关资源
    最近更新 更多