gpt4 book ai didi

javascript - jQuery 事件的通用函数

转载 作者:行者123 更新时间:2023-11-30 18:12:23 26 4
gpt4 key购买 nike

我有以下解决方案来防止多次点击(只尊重第一个并忽略其余的):

preventMultiClick = function() {
$(this).unbind("click");
$(this).bind("click", function() {
return false;
});
};
preventMultiSubmit = function() {
$(this).unbind("submit");
$(this).bind("submit", function() {
return false;
});
};
$("a").one("click", preventMultiClick);
$("#user").one("submit", preventMultiSubmit);

这个解决方案对我来说并不优雅,我认为应该是。所以我尝试将其升级为以下版本:

preventMultiClick = function(event) {
$(this).unbind(event);
$(this).bind(event, function() {
return false;
});
};
$("a").one("click", preventMultiClick("click"));
$("#user").one("submit", preventMultiClick("submit"));

而且该解决方案不起作用。有人可以解释为什么或告诉我应该如何编写作为函数参数给出的事件的函数吗?

最佳答案

问题是你在绑定(bind)处理程序时调用函数,event 对象被传递给你的处理程序,event 也是一个对象,你应该使用它的type 属性。

var preventMultiClick = function(event) {
$(this).unbind(event.type);
$(this).bind(event.type, function() {
return false;
});
};

$("a").one("click", preventMultiClick);
$("#user").one("submit", preventMultiClick);

关于javascript - jQuery 事件的通用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14291648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com