1

私の人生では、ワードプレスの index.php の下部でこれらの関数を呼び出した後、デフォルトのページのリロードを防ぐことはできません。

私の知る限り、Wordpress 独自の noConflict モードと互換性があるようにスクリプトを変換しましたが、何らかの理由でこれが次の呼び出しに流れません。

wordpress が各ページのすべてのコンテンツをロードする前に、ヘッダーでこれらのスクリプトを呼び出してそれらを取り込む必要がありますか? または、構文に問題がありますか?

(コンソールエラーは記録されていません)

<script type="text/javascript">
jQuery(".articleTitle a").click(function($){
    $.ajaxSetup({cache:false});
    var post_id = $(this).attr("href");

    $(".articleTitle a").preventDefault();


    $("#fold-above").css('display','none');
    $("#fold-above").fadeIn(300);
    $("#fold-above").load("<?php echo get_site_url(); ?>/ajaxpost/",{id:post_id});

    return false;
});
</script>


<!-- load files into ajax box and scroll it down: -->
<script type="text/javascript">
jQuery(document).ready(function($){
$(document).on('click', '.closeUp', function(){
    var video = document.getElementById("postvideo");

    video.pause();
    $("#fold-above").slideToggle();
    $("#fold-above").empty();

});
 });
</script>
4

2 に答える 2

2

そのように呼び出すことはできませんpreventDefault。次のコードを試してください

jQuery(".articleTitle a").click(function ($) {
    event.preventDefault();
    $.ajaxSetup({cache:false});
    var post_id = $(this).attr("href"); 
    $("#fold-above").css('display', 'none');
    $("#fold-above").fadeIn(300);
    $("#fold-above").load("<?php echo get_site_url(); ?>/ajaxpost/", {
        id: post_id
    });

    return false;
});

http://jsfiddle.net/b2cK2/

于 2013-05-20T20:01:49.793 に答える
0

イベントは無名関数に渡されます。次に、preventDefaultメソッドが で呼び出されますevent

jQuery(".articleTitle a").click(function(event){
    $.ajaxSetup({cache:false});
    var post_id = $(this).attr("href");

    event.preventDefault();


    $("#fold-above").css('display','none');
    $("#fold-above").fadeIn(300);
    $("#fold-above").load("<?php echo get_site_url(); ?>/ajaxpost/",{id:post_id});

    return false;
});

ドキュメンテーション

于 2013-05-20T19:50:48.367 に答える