点击Sencha touch中html更新后新元素上的事件

click event on new element after html update in Sencha touch

本文关键字:元素 事件 新元素 touch Sencha html 更新 点击      更新时间:2023-09-26

我通过模板在Ext.Panel中创建一个新元素

我想在p#更多元素中添加一个点击事件

如果我放:

Ext.select('#more').on('click', function() {
 // my code
});

Ext.Panelhandler: function()内部工作

但随后我更新了面板内的html,事件不再工作!!!

是否有一个新创建的DOM元素的监听器,我可以把我的点击事件放在里面?

当您替换HTML时,所有附加到子节点的事件都保持与它们的链接,但这些节点在DOM中不再存在。

事件也不会神奇地转换为新的节点。

如果替换HTML,则需要将事件附加到将保留的父节点。这称为事件委派。

您需要使用targetsrcElement(IE)来获取触发事件的元素,例如:

Ext.select('#parent-of-more').on('click', function(ev) { 
  var elm = ev.target || ev.srcElement;
  //elm is the element that was clicked
});