如何通过jQuery模拟锚单击?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (43)

我有一个通过jQuery伪造锚点的问题:为什么我的第一次点击输入按钮时,我的thickbox出现,但不是第二次或第三次?

这是我的代码:

<input onclick="$('#thickboxId').click();" type="button" value="Click me" />

<a id="thickboxId" href="myScript.php" class="thickbox" title="">Link</a>

当我直接点击链接时,它总能正常工作,但如果我尝试通过输入按钮激活thickbox,则无法工作。这是FF。对于Chrome,它似乎每次都有效。任何提示?

提问于
用户回答回答于

尽量避免内联你的jQuery调用。在页面顶部放置一个脚本标签以绑定到click事件:

<script type="text/javascript">
$(function(){
    $('#thickboxButton').click(function(){
        $('#thickboxId').click();
    });
});
</script>

<input id="thickboxButton" type="button" value="Click me">
<a id="thickboxId" href="myScript.php" class="thickbox" title="">Link</a>

说明:

  • 创建一个链接元素(<a href>
  • 给链接一个class属性,其值为thickbox(class="thickbox"
  • href链接的属性中添加以下锚点:#TB_inline
  • 在将以下查询字符串添加到锚点href后的属性中#TB_inline: ?高度= 300&宽度= 300&inlineId = myOnPageContent
  • 相应地更改查询中高度,宽度和inlineId的值(inlineID是包含要在ThickBox中显示的内容的元素的ID值。
  • 或者,您可以将modal = true添加到查询字符串(例如#TB_inline?height=155&width=300&inlineId=hiddenModalContent&modal=true),以便关闭ThickBox将需要tb_remove()从ThickBox内调用该函数。查看隐藏的模式内容示例,您必须单击“是”或“否”关闭ThickBox。
用户回答回答于

扫码关注云+社区