鉴于此HTML
<div id="section-name">
<div id="item">
...
</div>
</div>
这个jquery
$("#section-name div").click(function(){
// do stuff
});
$("#item").trigger("click");
我希望无论我在//做什么都可以执行。但事实并非如此。如果我直接点击元素,我会得到预期的行为。
我在触发器的文档中找不到任何内容,这有助于我理解这是否是预期的行为。
感谢。
答案 0 :(得分:0)
你的jQuery Selector错了;它应该是:
$("#section-name div").click(function(){
// do stuff
});
$("#item").trigger("click");
希望它有所帮助!
编辑:感谢vzwick的fiddle。
答案 1 :(得分:0)
您的HTML中没有任何#section
个ID,您有#section-name
。要执行// do stuff
,请将HTML更改为:
<div id="section">
<div id="item">
...
</div>
</div>
或者使用HTML5,请执行以下操作:
<section>
<div id="item">
...
</div>
</section>
然后将您的事件监听器更改为以下内容(请注意缺少#
):
$("section div").click(function(){
// do stuff
});
答案 2 :(得分:0)
抱歉,我的错误。似乎HTML中有一些重复的ID。注意自己......在发布前总是验证!
也许这会帮助其他类似缺乏纪律的人。 :)