Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ExtJS中处理来自HTML锚定标记的事件_Javascript_Html_Dom_Event Handling_Extjs - Fatal编程技术网

Javascript 在ExtJS中处理来自HTML锚定标记的事件

Javascript 在ExtJS中处理来自HTML锚定标记的事件,javascript,html,dom,event-handling,extjs,Javascript,Html,Dom,Event Handling,Extjs,我在ExtJS中构建了一个大型应用程序,正在寻找从应用程序的任何地方处理自定义事件的最佳方法。例如,我可能想在应用程序中的某些文本中放置一个锚定标记,它将在我的应用程序中打开一个自定义组件。此时,我听到在主体上的点击,如果目标有一个css类以某种格式应用于它,我就用它来执行一个动作 例如,我可能有: <a class="ACTION-View-Customers">View Customers</a> 你能想出这种方法的问题并提出替代方案吗?谢谢。如果有帮助的话,我

我在ExtJS中构建了一个大型应用程序,正在寻找从应用程序的任何地方处理自定义事件的最佳方法。例如,我可能想在应用程序中的某些文本中放置一个锚定标记,它将在我的应用程序中打开一个自定义组件。此时,我听到在主体上的点击,如果目标有一个css类以某种格式应用于它,我就用它来执行一个动作

例如,我可能有:

<a class="ACTION-View-Customers">View Customers</a>


你能想出这种方法的问题并提出替代方案吗?谢谢。

如果有帮助的话,我个人不会在HTML中使用额外的元数据。我会将特定ID应用于特定目的的链接,并将单击事件绑定到该对象。我还发现DomQuery对象(查找和引用锚定所需)很有趣。由于我通常将JQuery适配器与ExtJS一起使用,因此我将使用JQuery的选择器来定位特定的DOM元素和JQuery的绑定函数[.click(fn)],同时使用函数本身的Ext internal。JQuery和ExtJS是一个很好的组合,特别是在新的JQuery 1.3.1中,它确实加快了速度。

我建议使用HTML5。例如:

<a href="#" data-event="{ action: 'View', options: { name: 'Customers', type: 'All' } }">View Customers</a>

var eventsource = link.getAttribute("data-event");

var eventsource=link.getAttribute(“数据事件”);

正如您可能知道的,HTML标记接受任何命名属性。因此,您可以创建一些专门称为属性的属性,并将任何值传递给它们(例如,
my bogus param=“something”
),这样您就可以开发任何复杂的参数传递系统。然后可以在事件处理程序中解析这些属性。

这正是我的观点。您应该将事件处理程序直接附加到链接,而不是侦听body元素。
<a href="#" data-event="{ action: 'View', options: { name: 'Customers', type: 'All' } }">View Customers</a>

var eventsource = link.getAttribute("data-event");