如何在此绑定上触发单击事件?

时间:2014-01-23 17:02:02

标签: javascript jquery

如果我有这样的绑定:

$('#jsddm > #vehicle').bind('click', openVehicleMenu);  //vehicle menu click event

我想这样做:

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

知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

这与宣传的一样,见

<ul id="jsddm">
    <li id="vehicle">Vehicle</li>
</ul>
function openVehicleMenu() {
    console.log('openVehicleMenu');
}

$('#jsddm > #vehicle').bind('click', openVehicleMenu);

JSFiddle

如果a

中有li元素,可能会出现什么问题
<ul id="jsddm">
    <li><a id="vehicle" href="#">Vehicle</a></li>
</ul>

您必须将选择器修改为,例如

$('#jsddm #vehicle').bind('click', openVehicleMenu);

JSFiddle

使用#jsddm > #vehiclevehicle元素必须是jsddm的直接子元素。如果vehiclejsddm的进一步后代,则无效。您必须省略>子选择器或更具体,例如#jsddm li #vehicle

由于选择器会寻址id,它应该是唯一的,当然,您可以将它作为选择器。这完全避免了这些问题

$('#vehicle').bind('click', openVehicleMenu);