1

新しいページを開くこの JavaScript があります。

$(document).ready(function () {
    //$('a[id$="lnkHidden"]').trigger("click");    // Not sure if this is actually necessary

    $('table[id$="dataTable"]').find("tbody").on("click", "tr", function () {
        $(this).find('a[id$="lnkHidden"]').trigger("click");
    });
});

これは、JS スクリプトによって呼び出されるボタンです。

<h:commandLink id="lnkHidden" action="#{bean.pageRedirect}" style="text-decoration:none; color:white; display:none">

</h:commandLink>

テーブルの行をクリックすると、次のエラー メッセージが表示されます。

too much recursion [Break On This Error] ...,c=l.length;c--;)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f));if(i){if(o||e){if(o){for(l=‌​[],...

これを修正するのを手伝ってもらえますか?

4

2 に答える 2

1

合成クリック イベントをトリガーする代わりに、現在の URL を直接変更できます。

$(document).ready(function () {
    $('table[id$="dataTable"]').find("tbody").on("click", "tr", function () {
        var links = $(this).find('a[id$="lnkHidden"]');
        if(links.length && links[0].href) {
            window.location.href = links[0].href;
        }
    });
});
于 2013-04-09T00:51:14.940 に答える