我有一个包含 3 个“桌面”(div) 的网站,单击顶部栏中的 td
就会出现其中一个“桌面”
$("#bar td").click(function() {
var hash = $(this).data("sDiv");
$(hash).animate({right: "0px")}, 400);
});
到目前为止,一切正常。
然后,我添加了此脚本,以便在有人使用哈希打开页面时选择其中一个 td
(更改颜色)。
if(location.hash.length !== 0) {
$("[data-sDiv='" + location.hash + "']").addClass("selected");
}
一切都工作正常。
之后,在前面的 if
中,我添加了另一个脚本,用于在有人使用哈希打开页面时触发对 td
的点击。
$("[data-sDiv='" + location.hash + "']").trigger("click");
但是使用此代码不会触发点击,但代码的其余部分工作正常。我在控制台中没有错误,所以我不明白我做错了什么,为什么这不起作用?
编辑(添加信息):
这是我的导航栏
<div id="bar">
<table cellpadding="0" cellspacing="0">
<tr>
<td data-sDiv="#desk1"><a data-bash="42548">Desktop 1</a></td>
<td data-sDiv="#desk2"><a data-bash="42CA1">Desktop 2</a></td>
<td data-sDiv="#desk3"><a data-bash="42FC9">Desktop 3</a></td>
</tr>
</table>
</div>
这是我的“桌面”
<div id="desk1">Content</div>
<div id="desk2">Content</div>
<div id="desk3">Content</div>
Desktops
和 Navbar
都是 body
的直接子级
最佳答案
一种可能性是您在实际绑定(bind)事件之前触发了单击事件。
检查 if
block 和 $("#bar td").click(function() { ...
关于javascript - jQuery 选择器不起作用/点击触发器未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32500386/