2

良い一日、

支援してください:私はリストアイテムを順序付けられていないリストに追加しています。リストアイテムの中に、IDを持たないアンカーがあります。クリックイベントハンドラーを呼び出そうとしていますが、明らかに何か間違ったことをしています。

リストアイテムのレンダリング:

this.RenderMeNav = function (params) {
        var ul, li, a, heading;
        var me = ARRAY.Search({
            List: params.Permissions,
            Properties: ["Group"],
            Value: "me"
        });
        heading = $("<a href=\"javascript:void(0);\" class=\"heading\">Me<span class=\"icon-vertical icon-up\"/></a>");
        ul = $("<ul />");
        for (var p in me) {
            li = $("<li></li>");
            a = $("<a href=\"" + me[p].Url.replace("~/", "") + "\">" + me[p].Name + "</a>");
            a.click(function (e) {
                ShowProcessing();
                ifrm.document.location.href = $(this).attr("href");
                e.preventDefault();
            });
            li.append(a);
            ul.append(li);
        }
        $("#menu").append(heading);
        $("#menu").append(ul);
    };

そして、何か他のものがクリックされたとき、私はこの関数を呼び出します:

this.OpenSection = function (params) {
        $("#menu li").each(function () {
            if ($(this).text().toLowerCase() == params.Name.toLowerCase()) {
                $(this).click(); //I FOUND THE ANCHOR AND NOW I WANT TO INVOKE IT'S CLICK EVENT
            }
        });
    }

私は他の質問についていくつかの提案を試しましたが、それは役に立ちませんでした。

よろしく

4

2 に答える 2

0

すでに定義されているクリックイベントをトリガーするには、関数trigger()を使用する必要があります。

したがって、コードを次のように変更します。

this.OpenSection = function (params) {
        $("#menu li").each(function () {
            if ($(this).text().toLowerCase() == params.Name.toLowerCase()) {
                $(this).trigger('click'); //I FOUND THE ANCHOR AND NOW I WANT TO INVOKE IT'S CLICK EVENT
            }
        });
    }
于 2012-10-17T13:39:46.787 に答える
0

イベントをアンカーに添付していますが、リスト項目のクリックをトリガーしています。リスト項目にあり、クリックをトリガーするアンカーを見つけてみてください。

this.OpenSection = function (params) {
        $("#menu li").each(function () {
            if ($(this).text().toLowerCase() == params.Name.toLowerCase()) {
                $(this).find("a").trigger("click");
            }
        });
    }
于 2012-10-17T13:52:20.147 に答える