2014-11-14 97 views
0

我在写一个Greasemonkey脚本,可以自动执行网站上的任务。我需要填写一个表格,然后按下按钮,就像我手动完成的那样。到目前为止,无论我尝试什么,我都无法按下按钮。 这是按钮的代码:以编程方式按下Sencha触摸按钮的Greasemonkey脚本

<a class="x-button-normal x-button x-iconalign-left x-layout-box-item Recruit x-last x-  button-pressed" id="ext-button-8" style="-webkit-box-flex: 1;"> 
<span class="x-badge" style="display: none;"></span> 
<span class="x-button-icon" style="background-image: url(https://d38957szc5yx03.cloudfront.net/s/r/mH8qUaabmHUogiiMhHvU1A.png);" id="ext-element-53"></span> 
<span class="x-button-label" id="ext-element-52">Recruit</span> 
</a> 

,这些都是一些我试过的东西,没有成功:

$('ext-button-8').trigger('click'); 
$('ext-button-8').trigger('tap'); 
document.getElementById('#ext-button-8').click(); 
Ext.query('#ext-button-8').dom.click(); 
Ext.get('ext-button-8').dom.click(); 

在这一点上,无论是我完全失去了一些东西或者我需要触发一个不同的事件来激活按钮。

+0

只是从复制粘贴错误,我做到了正确的方式,我会编辑错误的帖子。 – 2014-11-14 18:01:27

+0

你试过var btn = Ext.Viewport.down('。button [id = ext-button-8]'); btn.fireEvent('tap',btn); – Dinkheller 2014-11-15 11:40:01

回答

0

最后,整个问题是,按钮不会对“点击”事件做出反应,而是对“点按”事件做出反应。下面的代码工作:

Ext.get('ext-button-8').fireEvent('tap'); 

它大概可以在普通的JavaScript做太多,但发射的触摸事件是一个比较复杂的方式。