0

jQuery 関数に問題があります。

        /* Vertical Profil Navigation */    
    $(document).ready(function() {
        function ajaxLoading(obj){
            var dataString = obj.attr('href');

            if(obj.attr('rel') != '#default'){
                $.ajax({
                    type: "GET",
                    url: "profile.php",
                    beforeSend: function() { $("#countrydivcontainer").html('<h2 class="title">Loading</h2><div style="text-align:center;"><img src="images/loader.gif" /></div>'); },
                    data: dataString,
                    success: function(data){
                        $("#countrydivcontainer").html(data);
                    }
                });
            }
        }

        $('.vnav-item.profile').on('click', function(e){
            ajaxLoading($(this));
            e.preventDefault();
        }); 
    });

ページを読み込んでサイト全体が読み込まれる前にリンクをクリックすると、リンク イベントが防止されず、エラーが発生します。サイトが完全にロードされていなくても、これらのリンクのクリックが常に防止されるようにするにはどうすればよいですか?

サイトに訪れる

4

1 に答える 1

0

タグで問題のリンクの直後にその JavaScript フラグメントを配置し、$(document).ready ハンドラーを省略します。

これにより、リンクが画面にレンダリングされた直後にコードが実行されます。

例えば

<a href="..." class="vnav-item profile">Here</a>
<script>
    $('.vnav-item.profile').on('click', function(e){
        ajaxLoading($(this));
        e.preventDefault();
    });
</script>

(もちろん、jQuery はこの前のどこかに含まれている必要があります)

于 2013-05-26T14:49:43.687 に答える