如何在preventDefault()之后启用默认链接按钮

时间:2015-05-13 23:58:53

标签: javascript c# jquery css asp.net

我想在用户按下登录按钮时滚动顶部。我使用链接按钮作为登录。现在我的逻辑是滚动到顶部。

function printRevision(peripheral, chars, callback) {
    if (DIS_FWREV_UUID in chars) {
        chars[DIS_FWREV_UUID].read(function(error, data) {
        // Ignore errors; missing FW revision is OK
            if (data) {
                console.log(
                    "Bootloader firmware revision: " +
                    data.toString('ascii'));
                }
            return callback(); 
        });
    } 
    else {
        process.nextTick(callback)
    }
}

使用此代码滚动工作正常,但问题是当我点击登录按钮时它被禁用。我可以再次点击它,但它阻止默认的CSS代码和按钮似乎禁用。由于preventDefault(),它实际上没有显示错误消息。 请帮助我如何在使用<asp:LinkButton id="cmdLogin" resourcekey="cmdLogin" cssclass="dnnPrimaryAction" text="Login" runat="server" /> <script type="text/javascript"> jQuery(function($) { var actionLinks = $("a[id$=cmdLogin]"); actionLinks.click(function(e) { e.preventDefault(); // e.stopPropagation(); $('html,body').animate({ scrollTop: 0 }, 'fast'); }); }); </script>

后启用默认设置

感谢。

1 个答案:

答案 0 :(得分:0)

.click(替换为.one( "click",

jQuery(function($) {

    var actionLinks = $("a[id$=cmdLogin]");
    actionLinks.one( "click", function(e) {

        e.preventDefault();

        //    e.stopPropagation();
        $('html,body').animate({
            scrollTop: 0
        }, 'fast');


    });

});
  • 第一次按下按钮时,事件处理程序将运行
  • 第二次按下按钮,默认处理程序将运行