防止页面刷新由正常clickevent提交后行动(prevent page refresh by s

2019-10-29 16:58发布

我的问题是我能阻止刷新页面从这个代码

正如你所看到的,我提出从正常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

Answer 1:

尝试这个:

更换与该第一线

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

并更换返回false; 同

e.preventDefault();


Answer 2:

您在点击事件返回假,但它不会停止提交操作,很遗憾。 如果你还没有使用实时事件侦听器的选项,你可以随时观看只用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();
}

这是已经为加入活()方法之前的所有事件侦听器来完成(如果你没有使用当然的liveQuery插件)。 它更编码和难以维持,但也有不是现在,我所知道的实在太多其他选择。

快乐jQuerying ...



Answer 3:

很多时候,如果那里有代码,javascript中永远不会完成的功能达到一个错误“返回false;” 导致页面重新加载。 脱下的链接,现在,看看是否有任何错误弹出。



文章来源: prevent page refresh by submit a post action from a normal clickevent