如何将 dojo 事件添加到表单上的新元素?

Posted

技术标签:

【中文标题】如何将 dojo 事件添加到表单上的新元素?【英文标题】:How to add dojo event to a new elements on a form? 【发布时间】:2014-08-14 21:20:59 【问题描述】:

我有一个表格,所以每个表格都有自己的删除链接,我用JS动态添加问题,我有以下dojo功能来使删除链接工作......

dojo.ready(function() 
   dojo.query(".delete-link").onclick(function(el)
      if(confirm("Really delete?"))
       ......
      

   );
 );

该功能正常工作,但是当我添加更多问题(使用JS)时,新问题在删除链接上没有事件,有什么想法可以解决吗?

【问题讨论】:

【参考方案1】:

问题是点击事件被绑定到所有在页面加载时具有“delete-link”类的链接。当您通过 JS 创建新元素时,它不会自动绑定到该函数,因为该链接在页面加载时不存在。您需要在文档级别绑定链接,以便添加链接时自动绑定。

改为这样绑定:

on(document, ".delete-link:click", function())

这相当于 jQuery 的 .live() 函数。

请注意,您必须在模块 (dojo/on) 上要求 dojo

【讨论】:

以上是关于如何将 dojo 事件添加到表单上的新元素?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Dijit 小部件动态添加到 Dojo 表单?

如何在 zend dojo 表单中添加 javascript 函数?

如何从子表单刷新父表单上的数据网格

dojo:哪些事件附加到元素?

如何在运行时使用 VBA 将按钮添加到 MS Access 表单并将代码添加到 _Click() 事件

Zend Dojo 表单上的斜线被 \/ 替换