请问如何让页面中所有的 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);
});
有没有办法让这两个函数只写一次?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
另一种方法
写个wrapper函数控制执行的流程
http://jsfiddle.net/larvata/suqvq330/
监听事件都是顺序执行的,所以你只要在情景代码之前和之后分别绑定一个
click
的监听函数就好啦。http://jsfiddle.net/2vzj20Lm/