我正在尝试模拟两次点击以打开菜单。第一个打开菜单,第二个打开子菜单,但在第一次单击()后,功能停止。
这是我的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>
答案 0 :(得分:0)
你这样做太快了。
将第二个包裹在window.setTimeout()
答案 1 :(得分:0)
嗯,你可以尝试一下,除了事实上我没有在某个地方打开菜单之外,它几乎就是这样了
我认为.click()仅在你附加了一个处理程序时才有效,它不会触发元素上的本机点击..我试过它没有处理程序而且链接没有去
答案 2 :(得分:0)
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/18/