target:触发了事件的元素,触发事件的元素不一定是绑定事件的元素
offsetY:鼠标距离自身的Y轴的距离(相对于target的距离)
clientY:鼠标距离窗口的位置
pageY:鼠标距离html页面的距离
练习1:div跟随鼠标移动(假设div相对于父级box定位)
练习2:鼠标拖拽
练习3:升级版,给body加2000的height,让div跟随鼠标移动,且不能超过box
鼠标单击和双击
bug:点击一个双击会执行两次单击,
解决:点击双击以后让单击延迟执行
二、键盘事件
(1)keydown支持特殊按键(command,shift),keydown下keyCode所代表的按键不区分大小写
(2)keypress不支持特殊按键,且keypress下keyCode区分大小写
判断是否按下组合键
(3)方向键控制div移动:上38 下40 左37 右39
1、onclick="check(this)"
2、js代码中event是一个Object对象,要循环
for (element in event) {
alert(element); // 获取属性名
alert(eventelement); // 获取属性值
}
3、不知道你要取那个标签对象,你在循环的时候去做个判断,然后后面就顺了
你可以不需要知道具体点击哪个文本框,给两个文本框都来上事件把当前元素对象传过去
<input name="a" onDblClick="test('this')" />
<input name="b" onDblClick="test(‘this’)" />
js代码:
function test(obj){
if(objstyledisplay==block){ //判断是否为显示
objstyledisplay=none;
}
代码没有测试过,不过应该问题不大
}
刚写完发现我会错楼主的意思:
1、你可以把单击事件改为双击(好像是onDblClick),
2、控制层显示或者隐藏(documentgetElementById("层的ID")styledisplay="none")。
挺复杂啊!呵呵
1) 事件转移:在button1出事件处理函数中直接调用button2的处理函数
private void button1_Click(object send, EventArgs e)
{
button2_Click(this, e); //直接调用
}
2)取消事件。以上面的button1对象为例,取消click处理
button1Click -= thisbutton1_Click;
3)复制组件。假设窗口中有一个组件textBox1,复制到变量中
Control cmpt = text1Box1;
4) 事件处理 这个要求比较含混。我猜大概是想要在后台处理某些任务吧?如果是这样,使用后台线程
void DoSometing()
{
// 处理事件 或 处理线程未完成的事件命令
//……
}
// 在你程序某个地方启动后台线程
Thread t = new Thread(DoSometing)
tIsBackground = true;
tStart();
lk1_Click(object sender,EventArgs e) 中的sender所对应的就是事件触发的源对象,在你这儿只需要转换成linklabel就成了点击的那个linklabel
补充一点, foreach (Msg obj in msgGetObjList()) 不推荐这样写,最好在这之前声明一个变量来放msgGetObjList(),这样避免每次循环都执行msgGetObjList(),如果GetObjList()的 *** 作很耗时那你这样写就更耗时了,而且可以避免前后调用GetObjList()所引起的数据差异
<div id="a" onclick="fun()">sdf</div>
var fun = function(e){
var dom = etarget;
if(domtagNametoLowerCase()=="div"){
}else if(){}
else{}
alert(domid)
alert(domname);
}
以上就是关于事件对象(event)--鼠标、键盘全部的内容,包括:事件对象(event)--鼠标、键盘、onclick事件,无法获取js事件源对象,财富不多,希望高手帮忙看看,给些建议,谢谢~、我有多个文本框,双击其中一个文本框隐藏层显示,但是如何判断我双击了哪个文本框呢javascript语言,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)