请问如何让页面中所有的 button 被点击时 先执行我指定的函数 before(),最后执行 指定的函数 end()?
我想实现这样的一个功能
页面中所有的 button 在执行 click 事件之前先执行我指定的函数 before,最后执行 指定的函数 end。
var IN_PROGRESS = {
before: function (element) {
$(element).attr('disabled', 'disabled');
},
end: function (element) {
$(element).removeAttr('disabled');
}
};
我现在是在每一个 button 的 click 事件里面都这样写
$(document).on('click', '.button 的 class', function () {
IN_PROGRESS.before(this);
...不同情景下的代码...
IN_PROGRESS.end(this);
});
有没有办法让这两个函数只写一次?
olkko
9 years, 9 months ago
Answers
监听事件都是顺序执行的,所以你只要在情景代码之前和之后分别绑定一个
click
的监听函数就好啦。
http://jsfiddle.net/2vzj20Lm/
成步堂龙叔
answered 9 years, 9 months ago
另一种方法
写个wrapper函数控制执行的流程
奶油蛋挞味
answered 9 years, 9 months ago