❶ javascript中,为什么双击事件之后必定会触发两次单击事件
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
bool doubleclicked = true;
private void listBox1_DoubleClick(object sender, EventArgs e)
{
doubleclicked = true;
//双击对窗体尺寸改变,只是一个例子,你自己可以实现
this.Size = new Size(new Point(700, 700));
}
private void listBox1_Click(object sender, EventArgs e)
{
doubleclicked = false;
Thread th = new Thread(new ThreadStart(signClicked));
th.Start();
}
private void signClicked()
{
Thread.Sleep(1000);
if (!doubleclicked)
{
//todo:处理单击事件的逻辑
AddItem();
}
}
/// <summary>
/// 代理委托
/// </summary>
private delegate void AddItemDelegate();
/// <summary>
/// 数据绑定
/// </summary>
public void AddItem()
{
if (this.InvokeRequired)
{
AddItemDelegate m_SetProgressProxy = new AddItemDelegate(AddItem);
this.Invoke(m_SetProgressProxy, new object[] { });
}
else
{
this.listBox1.Items.Add(("signClicked" + this.listBox1.Items.Count.ToString()));
}
}
}
}
给你做了个demo,基本原理是使用线程处理,定义一个外部全局变量,确定是否双击。这里强调一下,关键在于把单击事件执行使用sleep滞后,判断在1秒内是否有再次点击,如果是,那么不执行单击事件,只执行双击事件。
❷ javascript如何屏蔽鼠标双击,或将双击变成单击
ondoubleclick="javascript:return false";
❸ javascript ie下实现div鼠标双击事件
鼠标双击事件其实就是ondblclick 方法,只要给 div 加上这个方法就可以实现双击事件
<html>
<body>
<divid="d1"style="background:yellow;width:100px;height:100px"ondblclick="test()"></div>
</body>
</html>
<script>
functiontest(){
专alert("test");
}
</script>
document.getElementById("d1").ondblclick=function(){alert("test")}