ExtJS 4.1.
在 Ext.button 类中是否存在类似于 Ext.button.click();
方法?
是否有一种方法可以编程方式“点击”一个按钮?
如果你有一个MVC结构,你可以触发按钮的点击事件,如果在控制器中监听了该事件并且有相关联的函数,它将被调用。
button.fireEvent('click', button);
fireEvent('click')
,事件将不会执行。因此,最好的方法不是使用处理程序,而是使用单击侦听器+ button.fireEvent('click');
来模拟单击。 - s.webbandit这个论坛上最后一个回答可能会让你更深入地了解如何做到这一点, 这里它们是 -
1)Create the event code in a function and call the function from both sides: btn.on("clic", ...) and from the code you want to simulate the click.
2)Use: btnView.btnEl.dom.click();
来自 - http://www.sencha.com/forum/showthread.php?37772-Solved-Programmatically-click-an-Ext.Button
click()
的想法很好! - s.webbanditdom.click();
是什么?它来自哪里? - s.webbanditExtJS 4.2.1
Ext.get('component-id-of-extjs-button').el.dom.click();
Ext.get('toggle-button2').el.dom.click();
对我来说可行。
如果使用处理程序按钮,您可以直接调用按钮的函数。
考虑到button
是一个Ext JS组件,您可以使用以下方法:
button.handler(button);
或者如果您想触发“click”事件的功能:
button.listeners.click(button);
由于我需要用到很多按钮,因此更容易实现一个覆盖按钮类的方法,该方法添加了一个点击功能:
Ext.define('Ext.override.Button',{
override:'Ext.button.Button',
click:function() {
this.getEl().dom.click();
}
})
在将此覆盖添加到代码库后,以下内容就可以轻松实现:
Ext.getCmp("MyButton").click()
button.fireHandler()
document.getElementById("someButtonId").click();
其他答案都不适用于我,但我找到了一个更简单的解决方案:
var button=Ext.get('the_id_div');
button.dom.click();
button.getEl().dom.click()
。 - Geo