jQuery - 模仿Click

时间:2012-01-04 16:09:52

标签: javascript jquery

当用户点击包含<TD>但遇到问题时,我想模仿锚点击。

这是JS部分:

$('contactTab').click(function() {
    $('contactTabLink').trigger("click");
});

这是HTML部分:

<td class="previewTabs" id="contactTab">
<a class="previewTabLink" id="contactTabLink" rel="#contactOverlay">CONTACT</a>
</td>

当有人点击<TD> contactTab时,它应该在<A> contactTabLink上触发点击事件,然后启动叠加。我的问题是具有click侦听器的JS函数根本没有触发。

有人可以看到我哪里出错吗?

编辑1:

我已经将选择器更改为#,但它仍然不会触发该功能。

5 个答案:

答案 0 :(得分:10)

您的选择器不正确。

应该是这样的:

$('#contactTab').click(function() {

   $('#contactTabLink').trigger('click');

});

答案 1 :(得分:1)

您的选择器错了。
ID选择器需要#

答案 2 :(得分:1)

我想在此处注意一下,对于html格式化的方式,$('#contactTabLink').trigger("click")会导致$('#contactTab').click触发,因为它是#contactTabLink的父级,从而导致无限循环递归。有些浏览器会向控制台输出错误或者根本没有响应。您可以相应地安排您的html以避免这种情况:

<td class="previewTabs" id="contactTab">
  <a href="javascript:;" class="previewTabLink">CONTACT</a>
</td>
<a class="previewTabLink" id="contactTabLink" rel="#contactOverlay"></a> 

答案 3 :(得分:0)

你的选择器错了 - 你正在使用id,所以你应该在前面有一个'#'。

$('#contactTab').click(function() {
   $('#contactTabLink').trigger("click");
});

答案 4 :(得分:0)

向选择器添加哈希(#)后,确保该函数包含在$(document).ready(function(){yourFunction})中...

$(document).ready(function() {
    $('#contactTab').click(function() {
        $("#contactTabLink").trigger("click");
    });
});