【发布时间】:2011-11-18 15:11:35
【问题描述】:
我知道浏览器不支持虚假点击。我知道我可以回去并开始重构所有突兀的 javascript……但这不会发生。话虽这么说......
事情就是这样。
我有一堆代表偏好的链接。 EX:(这是渲染的内容。下面创建这个的实际jsp看起来并不有趣。)
<table id="snTabsAvail" class="content" cellspacing="5" cellpadding="1" border="0" align="center">
<tbody>
<tr>
<td id="Serial Number_Engine Test_0" class="tbutton" width="95px" nowrap="" height="55px" style="background-color:lime">
<a href="javascript:tabToggle('Serial Number', 'Engine Test', spref, 0, tabPicked, tabAvailable, 'Failed to update your tab preference, please try again later'); ">
</td>
<td id="Serial Number_Machine Test_1" class="tbutton" width="95px" nowrap="" height="55px" style="background-color:lime">
<a href="javascript:tabToggle('Serial Number', 'Machine Test', spref, 1, tabPicked, tabAvailable, 'Failed to update your tab preference, please try again later'); ">
</td>
...
这些调用代表 Ajax 调用,它们在服务器上设置首选项。我想包括一个全选和一个取消全选,所以我不必单独单击所有这些。我知道我不能这样做
$('#snTabsAvail td[style=background-color:silver] a').click();
由于虚假点击问题。
由于这些点击代表 javascript ajax 调用,我试图弄清楚如何点击我想要选择的那些,取消选择。链接所在的单元格代表“选项卡”,您可以通过它们的背景颜色判断哪些单元格被选中...这就是为什么我说,此表中任何具有未选择背景颜色的单元格,获取锚点,然后单击,这是行不通的。
关于如何在这里获取所有锚点并假点击它们有什么想法吗?是的..我的意思是编程。
【问题讨论】:
-
据我所知,我们可以用
.click()模拟鼠标点击。您的意思是因为有 >1 个链接对象而无法正常工作吗?或者,因为点击触发了 AJAX 调用? -
你不能用 jquey .click() 它们:问题是你不能通过点击触发链接的默认操作。见:forum.jquery.com/topic/jquery-a-0-click-not-working
标签: javascript href clicking