gpt4 book ai didi

javascript - Mouseup 事件未使用函数内部代码触发

转载 作者:行者123 更新时间:2023-12-01 16:10:09 24 4
gpt4 key购买 nike

我正在尝试使用 jQuery 创建按住确认按钮。问题是当我在此函数中插入代码时,mouseup 事件没有触发。它仅在函数为空且只有 console.log 时触发。这是示例:

self.on('mousedown touchstart', function(e) {
e.preventDefault();
self.addClass('-loading -progress');
clickDuration = setTimeout(function(e) {
self.trigger('click').removeClass('-progress');
console.log('clicked for 2 seconds');
}, parseInt(confirmDuration));
console.log(e);
}).on('mouseup touchend', function(e) {
self.removeClass('-loading -progress');
clearTimeout(clickDuration);
console.log(e);
});

mouseup 不会触发。

self.on('mousedown touchstart', function(e) {
e.preventDefault();
console.log(e);
}).on('mouseup touchend', function(e) {
console.log(e);
});

mouseup 将触发。

无论如何,我已经创建了我的代码的完整示例,您可以在这里现场使用它:https://jsbin.com/bozusiboku/1/edit?js,output

谢谢!

最佳答案

如果您从声明 self.addClass('-loading -progress'); 中删除类 -loading,您的代码就可以工作。

-loading 添加了 CSS pointer-events: none,它会禁用按钮上的鼠标事件并防止 mouseup 触发。

参见:MDN: Pointer Events .

关于javascript - Mouseup 事件未使用函数内部代码触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62282880/

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