
在默认绑定事件的情况下,实现自定义事件逻辑
原问题中提到了按钮上默认绑定的事件,而由于业务需求,需要在执行默认事件之前增加自定义的逻辑判断。
第一种方法:使用原生事件监听
const button = document.getelementbyid('my-button');
// 监听原生 onclick 事件
button.addeventlistener('click', (event) => {
// 执行你的自定义逻辑判断
if (自定义逻辑判断结果为 false) {
// 阻止默认事件执行
event.preventdefault();
}
});第二种方法:使用 jquery 绑定事件
$('#my-button').on('click', (event) => {
// 执行你的自定义逻辑判断
if (自定义逻辑判断结果为 false) {
// 使用 `stopimmediatepropagation()` 阻止传播事件
event.stopimmediatepropagation();
}
});第三种方法:注入自定义脚本
对于第三方库中的默认事件,可以注入自定义脚本来修改其行为:
var originalClickHandler = $('#my-button').data('events').click[0].handler;
$('#my-button').on('click', (event) => {
// 执行你的自定义逻辑判断
if (自定义逻辑判断结果为 false) {
event.preventDefault();
} else {
// 调用原始的 click 处理函数
originalClickHandler.call(this, event);
}
});










