代码之家  ›  专栏  ›  技术社区  ›  Kristinn Örn Sigurðsson

绑定jquery事件

  •  1
  • Kristinn Örn Sigurðsson  · 技术社区  · 15 年前

    jquery事件让我恼火。我经常使用 javascript(在Ajax请求之后等)来绘制新元素 (按钮、分格等)。我有一个元素列表 你可以按一个编辑按钮来操作它 链接到选定的编辑按钮。

    现在,如果有人提交一个表单来创建一个新元素,比如 以前存在过,我用Ajax提交它,然后追加或预先附加 列表中的新元素。之后,新的编辑按钮 新元素没有链接到jquery的事件系统,因为dom没有 已在“编辑”按钮生成后重新加载。如果我也这么叫的话 包含事件的javascript文件,然后编辑按钮工作,但是 然后当人们单击其他编辑按钮时,事件会发生两次 因为他们被绑了两次。我还使用了.bind(),但仅此而已 (我想)把同一件事捆绑起来是以前的两倍。我不记得在 我测试的那一刻。我还没有测试.one(),但我宁愿 不要使用它,因为某些事件必须多次调用。

    我只是想问你们在处理问题时使用什么方法 这些事件?

    p.s.i正在将jquery事件绑定到所有元素都具有的class属性。如果我要基于ID将它绑定到每个元素,那么这不会是问题,因为那时我只使用.bind()。通过编写这个命令,我突然想到使用.unbind()和.bind()将元素链接到事件系统。你觉得怎么样?你会用另一种方式吗?

    事先谢谢。 克里斯汀。

    3 回复  |  直到 15 年前
        1
  •  4
  •   meder omuraliev    15 年前

    您希望使用$.fn.live:

    $('a').live('click', function(e) {
        e.preventDefault();
        alert('im attached even if the DOM has been updated!');
    });
    

    http://docs.jquery.com/Events/live

        2
  •  2
  •   Steerpike    15 年前

    你的问题有点笼统,但我觉得你要找的是 jquery live