当前位置:首页 > jquery

jquery 长按

2026-02-03 18:53:46jquery

jQuery 实现长按事件的方法

在jQuery中实现长按事件可以通过结合mousedownmouseupsetTimeout来实现。以下是具体实现方式:

基础实现

监听mousedown事件启动计时器,若在指定时间内未触发mouseup则视为长按。超过时间后执行长按回调,中途释放则清除计时器。

var pressTimer;
$(".target").on("mousedown", function() {
    pressTimer = setTimeout(function() {
        console.log("长按事件触发");
        // 长按后的操作
    }, 1000); // 1秒为长按阈值
}).on("mouseup mouseleave", function() {
    clearTimeout(pressTimer);
});

移动端兼容

对于触摸设备需使用touchstarttouchend事件:

var pressTimer;
$(".target").on("touchstart", function() {
    pressTimer = setTimeout(function() {
        console.log("长按事件触发");
    }, 1000);
}).on("touchend touchcancel", function() {
    clearTimeout(pressTimer);
});

封装为插件

可扩展为jQuery插件方便复用:

$.fn.longPress = function(callback, duration) {
    duration = duration || 1000;
    return this.each(function() {
        var timer;
        $(this).on("mousedown touchstart", function() {
            timer = setTimeout(callback, duration);
        }).on("mouseup mouseleave touchend touchcancel", function() {
            clearTimeout(timer);
        });
    });
};

// 使用方式
$(".btn").longPress(function() {
    alert("长按成功");
}, 1500);

注意事项

jquery 长按

  • 移动端需考虑touchcancel事件中断场景
  • 长按时间阈值建议设置在500-2000ms之间
  • 防止长按触发后重复执行操作
  • 在拖拽场景中需要额外处理避免冲突

这种方法无需额外库,纯jQuery实现,适用于大多数需要长按交互的场景。

标签: jquery
分享给朋友:

相关文章

react 如何引入jquery

react 如何引入jquery

安装 jQuery 库 在 React 项目中引入 jQuery 的第一步是安装 jQuery。可以通过 npm 或 yarn 安装: npm install jquery # 或 yarn a…

jquery下载

jquery下载

jQuery下载方法 官方下载渠道 访问jQuery官网(https://jquery.com/),点击页面中的“Download”按钮。提供两个版本选择: Production版本:压缩后的精…

jquery 选择器

jquery 选择器

jQuery 选择器基础语法 jQuery 选择器基于 CSS 选择器语法扩展,用于快速定位 DOM 元素。基本结构为 $("selector") 或 jQuery("selector"),返回一个包…

jquery css

jquery css

jQuery 操作 CSS 的方法 jQuery 提供了多种方法来操作元素的 CSS 样式,包括获取、设置、添加或移除样式。以下是常用的方法: 获取 CSS 属性值 使用 .css() 方法获取元素…

jquery 库

jquery 库

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,适合快速开发前端…

jquery框架

jquery框架

jQuery框架简介 jQuery是一个快速、简洁的JavaScript库,简化了HTML文档遍历、事件处理、动画设计和Ajax交互。其核心特点是“写得更少,做得更多”,通过封装常见任务,降低跨浏览器…