1

document.ready 内の jquery 呼び出しの最初の部分は疑似コードです。$('.mainLink').each().click() を正しく実行して、NavigationPanel 内のクラス名 mainLinks を持つすべてのリンクがクリック イベントにバインドされるようにするにはどうすればよいですか。リンクに ID を使用しないのは悪いことですか?

$(document).ready(function () {

        $('.mainLink').each().click(function (e) {
                e.preventDefault();                
                $.ajax({
                    url: this.href,
                    beforeSend: OnBegin,
                    complete: OnComplete,
                    success: function (html) {
                        $('#ContentPanel').html(html);
                    }
                });
            });
        });  

<div id="NavigationPanel">  

        @Html.ActionLink("1", "Index", "First", null, new { @class = "mainLink" })
        @Html.ActionLink("2", "Index", "Two", null, new { @class = "mainLink"  })
        @Html.ActionLink("3", "Index", "Three", null, new { @class = "mainLink" })    
    </div>
4

2 に答える 2

3

$('.mainLink').click(function (e) {すべてのリンクをクラスにバインドするだけです.mainLink

div ID 内のすべてのリンクが必要な場合はNavigationPanel、以下を試してください。

$('.mainLink', $('#NavigationPanel')).click(function (e) {

于 2012-04-30T21:10:29.113 に答える
1

.mainLink内のすべてにバインドするだけの場合#NavigationPanelは、次のように機能します。

$("#NavigationPanel").on("click", ".mainLink", function(e){
    e.preventDefault();                
    $.ajax({
        url: this.href,
        beforeSend: OnBegin,
        complete: OnComplete,
        success: function (html) {
            $('#ContentPanel').html(html);
        }
    });
});
于 2012-04-30T21:11:36.850 に答える