单击()后函数停止

时间:2012-10-05 19:53:45

标签: javascript jquery

我正在尝试模拟两次点击以打开菜单。第一个打开菜单,第二个打开子菜单,但在第一次单击()后,功能停止。

这是我的JS代码:

function open_menu(id_menu, id_sub_menu) {
    $('.sous-domaines a#lien-domaine-'+id_menu).click();
    $('a#lien-menu-'+id_sub_menu).click();
}

我使用以下代码在HTML中调用我的函数:

<span onClick="open_menu('0', '116')">Open sub-menu</span>

4 个答案:

答案 0 :(得分:0)

你这样做太快了。

将第二个包裹在window.setTimeout()

答案 1 :(得分:0)

嗯,你可以尝试一下,除了事实上我没有在某个地方打开菜单之外,它几乎就是这样了

http://jsfiddle.net/tRg3e/2/

我认为.click()仅在你附加了一个处理程序时才有效,它不会触发元素上的本机点击..我试过它没有处理程序而且链接没有去

答案 2 :(得分:0)

你能做这样的事吗?首次点击后设置一个bool

var IsClick = false;

function open_menu(id_menu, id_sub_menu) {
    $('.sous-domaines a#lien-domaine-'+id_menu).click();
     if (IsClick){ fnSecondClick();}   
}

function fnSecondClick() {
//open submenu

}

或类似的东西 - 点击检查菜单是否可见:

function open_menu(id_menu, id_sub_menu) {
    $('.sous-domaines a#lien-domaine-'+id_menu).click();
     if ($(element).is(":visible")){ fnSecondClick();}   
}

答案 3 :(得分:0)

你应该偏离在这样的元素中声明的'onClick',如果我记得的话,这是不好的做法。尽管如此,它仍然有效。

如果您可以提供一些HTML代码,这将有助于澄清这个想法,但您可以设置触发事件,例如:

http://jsfiddle.net/wrN2u/3/

编辑:使用切换 - http://jsfiddle.net/wrN2u/18/