javascript - 按钮在移动设备上的反应与在桌面上的反应相同
问题描述
我的问题可能看起来很简单,但我真的很坚持。这是一个链接:https ://codepen.io/anon/pen/VqyMpj
该按钮的工作原理令人惊叹,但是当您在移动设备上打开它并单击它时 - 它不像在桌面上那样工作,它不会恢复到原来的形式(只是在最后保留 x )。
我需要它像在桌面上一样在移动设备上工作。
也许问题出在 setTimeout 上?
这是我的 JS 代码:
(function () {
var removeSuccess;
removeSuccess = function () {
return $('.btn-cart').removeClass('success');
};
$(document).ready(function () {
return $('.btn-cart').on("click", function () {
$(this).addClass('success');
return setTimeout(removeSuccess, 1000);
});
});
}).call(this);
解决方案
试试这个代码 - 你的回报很奇怪
$(function() { // on page load
$('.btn-cart').on("touchstart click", function() {
$(this).addClass('success');
setTimeout(function() {
$('.btn-cart').removeClass('success');
}, 1000);
});
});
推荐阅读
- javascript - 什么决定了单击时选择元素的大小?
- dart - 如何从扩展类调用方法?
- javascript - 使用触摸事件创建 React 原生元素
- java - 在 solaris 上从 java 加载库时来自 libCrunG3.so.1 的未解析符号
- c# - 用于具有添加子控件能力的位图背景图像的 WPF 元素
- python - Sklearn中的UndefinedMetricWarning
- oracle - 不使用 BULK 但仍然得到 ORA-06502: PL/SQL: numeric or value error: Bulk Bind: Truncated Bind
- javascript - PhantomJS 中的递归函数
- angular - 如何在 Angular 动画之后运行代码?
- elixir - 在 Ecto 中添加和删除具有多对多关系的记录