0

メニューを開くために2回のクリックをシミュレートしようとしています。最初のものはメニューを開き、2番目のものはサブメニューを開きますが、最初のclick()の後、関数は停止します。

これは私の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

4 に答える 4

0

これを試してみてください

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

.click() は、ハンドラーがアタッチされている場合にのみ機能すると思います。要素のネイティブクリックはトリガーされません..ハンドラーなしで試してみましたが、リンクが移動しません

于 2012-10-05T20:02:39.960 に答える
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();}   
}
于 2012-10-05T20:03:16.220 に答える
0

そのような要素で宣言された「onClick」から離れるべきです。思い出せば、それは悪い習慣です。それにもかかわらず、それはまだ機能します。

いくつかの HTML コードを提供できれば、アイデアを明確にするのに役立ちますが、たとえば次のようにトリガー イベントを設定できます。

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

編集:トグル付き - http://jsfiddle.net/wrN2u/18/

于 2012-10-05T20:04:17.157 に答える
0

あなたは多分速すぎます。

2 番目のものをwindow.setTimeout()

于 2012-10-05T19:55:58.113 に答える