Javascript 使用touchstart/touchend和超时清除字段

Javascript 使用touchstart/touchend和超时清除字段,javascript,jquery,touch,Javascript,Jquery,Touch,我有以下功能,可以在浏览器中很好地满足我的需要: var timer; $('.played').on({ 'focus': function () { $(this).val(function (i, v) { return (+v || 0) + 1; }).blur(); }, 'mousedown': function () { var $el = $(this); timer

我有以下功能,可以在浏览器中很好地满足我的需要:

var timer;
$('.played').on({
    'focus': function () {
        $(this).val(function (i, v) {
            return (+v || 0) + 1;
        }).blur();
    },
    'mousedown': function () {
        var $el = $(this);
        timer = setTimeout(function () {
            $el.val('');
        }, 5000);
    },
    'mouseup': function () {
        clearTimeout(timer);
    }
});
然而,当我在iPad上使用它时,它不会清除保留的字段,因为我发现这与touchstart/touchend有关,所以我现在有以下几点

现在的问题是,虽然它可以工作,但我必须将手指滑离我所关注的区域,否则它会在重置后拾取另一个触摸,所以它不会清除该区域,而是恢复为1

有人有什么想法吗