jquery和浏览器假点击

时间:2011-11-18 15:11:35

标签: javascript href clicking

我知道浏览器不支持虚假点击。我知道我可以回去开始重构所有突兀的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调用,我试图弄清楚如何点击我想要的选择,取消选择。链接所在的单元格代表“标签”,您可以通过它们的背景颜色来判断哪些是...这就是为什么我说,这个表格中任何具有未选择背景颜色的单元格,获得锚点,然后单击,这不起作用。

有关如何获取所有锚点并假冒点击它们的任何想法?是的..我的意思是程序化。

1 个答案:

答案 0 :(得分:1)

你可以在每个链接的href属性上使用eval()(不确定是否必须删除“javascript:”部分),如下所示:

eval($('#snTabsAvail a').attr('href').substring(11));

编辑:当然这是针对单个链接的,您必须遍历$('#snTabsAvail a')返回的元素以获得完整的解决方案。