0

このコードによるページの更新を防ぐことはできますか?

ご覧のとおり、通常のclick_eventから投稿アクションを送信します。これは、ライブでは送信イベントがサポートされていないため、必要です。

jQuery('.verwijder').live('click', function() { 
    t=$(this);

    t.parents(".paneltbnote").animate({ opacity: 'hide' }, "slow",function(){
        t.parents(".wrappertbnote").remove();
        settbnotecounter();

        $db_tbnoteid = t.parents(1).children('.frmnoteid').val();

        $.post("tbnotesact.php", {
            noteid: $db_tbnoteid,
            actie: "verwijder",
            tijd: timestamp
        }, function(xml) {
            // hier nog iets doen
            berichtentoevoegen(xml);//feedback
        });//einde post methode

    });// einde callback animate methode

    return false;    
});//einde binding click event
4

3 に答える 3

2

これを試して:

最初の行を次のように置き換えます

jQuery('.verwijder').live('click', function(e) { t=$(this);

そして、returnfalseを置き換えます。と

e.preventDefault();
于 2009-05-20T12:57:04.213 に答える
2

クリック イベントで false を返していますが、残念ながら送信アクションは停止しません。ライブ イベント リスナーを使用しないという選択肢がある場合は、bind() メソッドを使用して送信アクションをいつでも監視できます。

jQuery('.verwijder').bind('submit', function() {
    /* everything as usual... */
    return false;
});

もちろん、それができない場合は、コードにロジックを追加して、すべてのフォームの送信アクションをバインド解除してから再バインドして、必要なことを実行する必要があります。

$(function() {
    bind_submits();
    // Let's pretend you have a link that adds forms to your page...
    $('#addForm').live('click', function() {
        add_form();
    });
});

function bind_submits() {
   // We need to unbind first to make we don't multi-bind 
   jQuery('.verwijder').unbind('submit').bind('submit', function() {
        /* everything as usual... */
        return false;
    });
}

function add_form() {
    /* do some stuff to add a form to your layout... */

    // Now reset all current 'submit' binds and add the new one...
    bind_submits();
}

これは、live() メソッドが追加される前に、すべてのイベント リスナーに対して行う必要があったことです (もちろん、livequery プラグインを使用していない場合)。コーディングが増えて保守が難しくなりますが、現時点で私が認識している他のオプションはあまりありません。

幸せな jQuerying...

于 2009-05-20T18:55:30.713 に答える
0

多くの場合、コードにエラーがあると、javascript は "return false;" まで機能を完了できません。ページのリロードが発生します。とりあえずリンクを外して、エラーがポップアップするかどうかを確認してください。

于 2009-05-20T15:08:04.167 に答える