我正在尝试创建Press和amp; 使用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?jsoutput
谢啦!
如果从语句self.addClass(“-loadd-progress”);
中删除类-loadding
,则代码可以正常工作。
-loading
添加CSS指针-events:none
,该指针禁用按钮上的鼠标事件,并防止mouseup触发。
请参见:mdn:指针事件。