2014-01-23 10 views
0

Если у меня есть привязки, как это:Как вызвать событие click для этого связывания?

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

, и я хочу сделать это:

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

Любая идея, как сделать это?

+2

Как вы писали. –

+0

Не работает, openVehicleMenu() никогда не выполняется. – gjw80

+0

Это правильно, как говорит @DanLee. У вас должно быть что-то еще не так. – Liam

ответ

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 > #vehicle, то vehicle элемент должен быть прямым потомком jsddm. Если vehicle является еще одним потомком jsddm, это не сработает. Вы должны опустить дочерний селектор > или быть более конкретным, например #jsddm li #vehicle.

Поскольку селектор обращается к id, который должен быть уникальным, вы можете просто взять его для селектора, конечно. Это позволяет избежать таких проблем в целом

$('#vehicle').bind('click', openVehicleMenu); 
Смежные вопросы