【问题标题】:Adding onclick function to an appended element in a loop via jquery通过jquery将onclick函数添加到循环中的附加元素
【发布时间】:2011-01-20 16:56:31
【问题描述】:

现在我将函数的名称作为字符串传递给 jquery 插件,该插件循环通过数据库为每条记录创建一个新元素,将元素的 onclick 事件设置为随数据提供的函数名称记录为函数的参数。这被附加到一个字符串并分配给一个新 div 的 innerhtml,该 div 在循环完成时附加到 dom。最初我每次都附加到dom,但这非常慢。

我想做的是将函数本身传递给插件,或者如果用户愿意,可以传递一个匿名函数。但由于我将 div 构建为字符串,我不确定将传递的函数与每个元素的 onclick 事件相关联的最佳方法。

【问题讨论】:

  • 要么 (a) 不使用字符串并自己构建 DOM 元素,然后一次性将它们全部插入,要么 (b) 将 onclick 属性写入字符串并引用全局回调函数。如果您想要更具体的答案,您可能需要发布您的代码。

标签: jquery function loops onclick


【解决方案1】:

你也许可以在 jquery http://api.jquery.com/live/ 中使用 live 函数

为你的 div 设置一个类,这样它就会给出类似的东西:

$(".myDiv").live("click", function(){//my function});

如果它对所有 div 都具有相同的功能,那就是这样

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 2018-09-12
    • 2012-09-22
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多