欢迎访问我的个人网站==》 jiashubing.cn

js实现,在现有按钮上添加额外事件,在点按钮之前触发一段新逻辑,不改变原始js

完全可以在不修改原始HTML的情况下,通过JavaScript添加额外的事件处理程序。下面是一个实现方案,它会在点击登录按钮时先执行你的自定义函数,再执行原来的doLogin()函数。

// 添加事件监听器
document.addEventListener('DOMContentLoaded', function() {
    const submitBtn = document.getElementById('submit_btn_login');
    
    // 保存原始onclick函数
    const originalOnClick = submitBtn.onclick;
    
    // 重写onclick
    submitBtn.onclick = function(event) {
        addLog("按钮被点击");
        
        // 先执行你的自定义函数
        if (myCustomFunction()) {
            addLog("自定义函数返回true,继续执行原始函数");
            // 如果自定义函数返回true,执行原始函数
            if (originalOnClick) {
                originalOnClick.call(this, event);
            }
        } else {
            addLog("自定义函数返回false,停止执行原始函数");
            // 如果自定义函数返回false,阻止原始函数执行
            event.preventDefault();
            return false;
        }
    };
    
    addLog("事件监听器已附加到登录按钮");
});

 

posted @ 2025-10-16 09:43  贾树丙  阅读(7)  评论(0)    收藏  举报