如何在 javascript 中的同一元素上应用长单击事件和双击事件
How to apply long click event and doubleclick event on the same element in javascript
我有一个元素(textArea)。现在我想要一个长按事件和一个双击元素的事件。我能够做到这一点,但我也想在长按事件的鼠标关闭事件中使用 event.preventDefault()。这反过来又会阻止 dblClick 事件。
我想阻止默认的原因是我在长按上渲染一个元素,并希望在长按后触发鼠标移动时阻止初始鼠标向下。我已经搜索并重新搜索了网络,但找不到解决长按和dblclick同一元素问题的好答案。
谢谢!!
试试这个演示
.HTML
<input type="button" ondblclick="whateverFunc()" onmousedown="func(event)" onmouseup="revert()" value="hold for long"/>
JavaScript
var timer;
var istrue = false;
var delay = 3000; // how much long u have to hold click in MS
function func(e)
{
istrue = true;
timer = setTimeout(function(){ makeChange();},delay);
// Incase if you want to prevent Default functionality on mouse down
if (e.preventDefault)
{
e.preventDefault();
} else {
e.returnValue = false;
}
}
function makeChange()
{
if(timer)
clearTimeout(timer);
if(istrue)
{
/// rest of your code
alert('holding');
}
}
function revert()
{
istrue =false;
}
function whateverFunc()
{
alert('dblclick');
}
相关文章:
- 将jQuery事件应用于所有类元素
- React应用程序:道具在下一个事件后更新
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- 鼠标事件在OpenLaszlo应用程序中不起作用
- 在将绑定应用于控制器之后,是否会发出Angular$scope事件
- Joint JS-如何在shapes.devs上应用事件
- jQuery:如何在没有for循环的情况下将事件处理程序应用于$('#text'+'任意整数
- 如何使用javascript检查事件是否应用于元素
- Windows 8 HTML5 JavaScript 应用程序中向左滑动的事件名称是什么
- 使用 javascript/jQuery 将触摸事件应用于每次点击事件
- 移除点击事件应用的 CSS
- 将 jQuery 事件应用于两个 DOM ID 的选择器
- 在AngularJs中对点击事件应用指令
- 将jquery事件应用于表中的特定区域或行
- 对不同的事件应用不同的样式
- Keyup事件应用最后一句话
- 如何将jquery的Click事件应用于动态列表元素
- 如何为画布“绘制样式”获得平滑的鼠标事件应用程序
- 在AngularJS中,根据当前视图上下文对Javascript事件应用操作
- 如何将 jQuery 点击事件应用于多个 ID