首先让我说这个问题特定于ExtJS库中的TabPanel。 我可以使用jQuery(“#id”)。click()函数成功模拟其他ExtJS组件的点击。
但我无法使用jQuery模拟用户点击ExtJS中TabPanel的给定选项卡。我看到标签后面的dom结构如下所示:
<ul class="x-tab-strip x-tab-strip-top" id="ext-gen15">
<li id="ext-comp-1009__ext-comp-1001" class="x-tab-strip-active">
<a class="x-tab-strip-close" id="ext-gen18"></a>
<a href="#" class="x-tab-right" id="ext-gen19">
<em class="x-tab-left">
<span class="x-tab-strip-inner">
<span class="x-tab-strip-text">Submarine</span>
</span>
</em>
</a>
</li>
<li id="ext-comp-1009__ext-comp-1003" class="">
<a class="x-tab-strip-close" id="ext-gen20"></a>
<a href="#" class="x-tab-right" id="ext-gen21">
<em class="x-tab-left">
<span class="x-tab-strip-inner">
<span class="x-tab-strip-text">SpaceShuttle</span>
</span>
</em>
</a>
</li>
<li class="x-tab-edge" id="ext-gen16">
<span class="x-tab-strip-text"> </span>
</li>
<div class="x-clear" id="ext-gen17"></div>
</ul>
我尝试过使用jQuery选择第一个标签的各种方法:
jQuery("#ext-comp-1009__ext-comp-1001").click();
jQuery("#ext-gen18").click();
jQuery("#ext-gen19").click();
但似乎没有任何效果。
答案 0 :(得分:1)
如果您take a look at the source(特别是搜索onStripMouseDown
),您会看到它期待Ext.EventObject
。它会立即失败,因为e.button
不是0。
据推测,您可以使用自己的onStripMouseDown
修补它。