如果我有这样的绑定:
$('#jsddm > #vehicle').bind('click', openVehicleMenu); //vehicle menu click event
我想这样做:
$('#vehicle').trigger('click');
知道怎么做吗?
答案 0 :(得分:0)
这与宣传的一样,见
<ul id="jsddm">
<li id="vehicle">Vehicle</li>
</ul>
function openVehicleMenu() {
console.log('openVehicleMenu');
}
$('#jsddm > #vehicle').bind('click', openVehicleMenu);
如果a
li
元素,可能会出现什么问题
<ul id="jsddm">
<li><a id="vehicle" href="#">Vehicle</a></li>
</ul>
您必须将选择器修改为,例如
$('#jsddm #vehicle').bind('click', openVehicleMenu);
使用#jsddm > #vehicle
,vehicle
元素必须是jsddm
的直接子元素。如果vehicle
是jsddm
的进一步后代,则无效。您必须省略>
子选择器或更具体,例如#jsddm li #vehicle
。
由于选择器会寻址id
,它应该是唯一的,当然,您可以将它作为选择器。这完全避免了这些问题
$('#vehicle').bind('click', openVehicleMenu);