如何在此绑定上触发click事件? [英] How do I trigger a click event on this bind?

查看:77
本文介绍了如何在此绑定上触发click事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有这样的绑定:

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

我想这样做:

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

有什么想法吗?

推荐答案

此方法如广告所示,请参见

This works as advertised, see

<ul id="jsddm">
    <li id="vehicle">Vehicle</li>
</ul>

function openVehicleMenu() {
    console.log('openVehicleMenu');
}

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

JSFiddle

如果li

<ul id="jsddm">
    <li><a id="vehicle" href="#">Vehicle</a></li>
</ul>

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

you must modify the selector to, e.g.

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

JSFiddle

对于#jsddm > #vehiclevehicle元素必须是jsddm的直接子代.如果vehiclejsddm的其他后代,则此方法将不起作用.您必须省略 > 子选择器,或更具体一点,例如#jsddm li #vehicle.

With #jsddm > #vehicle, the vehicle element must be a direct child of jsddm. If vehicle is some further descendant of jsddm, this won't work. You must omit the > child selector or be more specific, like #jsddm li #vehicle, for example.

由于选择器寻址的id应该是唯一的,因此您当然可以将其用作选择器.这样可以完全避免此类问题

Since the selector addresses an id, which should be unique, you can just take that for the selector, of course. This avoids these kind of problems altogether

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

这篇关于如何在此绑定上触发click事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆