javascript - JQuery Mousehold 插件的问题

标签 javascript jquery events mouse handler

插件发布在这里:

http://www.tutcity.com/javascript/jquery-mousehold-event.27019.htm

是一个 JQuery 插件,用于监听鼠标按住事件。

我遇到的问题是,当你做类似的事情时:

var value = 0;
$(div1).mousehold(function() {
value+=1;
$('#result').html(value);
});

值(value)不断增加并发挥作用。但是,如果您开始将鼠标移动到另一个元素(我确实有一个用于 mousemove 以及 div1 的事件监听器),则 mousehold 事件将被取消。

如何才能使 mousehold 事件在 mouseout 时不会被取消?谢谢,如果这个问题有点新手水平,我很抱歉 xD

最佳答案

这就是插件的设置方式。注释掉这一行:

jQuery(this).mouseout(clearMousehold);

那么它应该只在 mouseup 上停止计时器。

但是现在你遇到了一个问题,mouseup 不会在元素之外触发,因此当你将指针移动到其他地方时,你的函数将继续运行。要解决此问题,您必须监听整个文档上的 mouseup 事件。

关于javascript - JQuery Mousehold 插件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9058778/

相关文章:

JavaScript: "relative to the viewport"是什么意思?

javascript - 如何使用 jQuery 从搜索结果中滚动到某个 id

user-interface - Haskell 中实现了哪些事件驱动的应用程序?

iPhone,如何从应用程序委托(delegate)者向 UIView 发送数据更改事件?

javascript - Ember 设置使用 DS.attr ("date"的日期字段)

javascript - 将悬停背景拉伸(stretch)到全高

javascript - 在 WP 中使用 PHP 将 javascript 字符串插入 HTML

jquery - 如何获取body元素的高度

javascript - 如何为给定数组创建跨度列表

javascript - ng-transclude 会停止 Angular.js 中的事件传播吗?