有多个div的onmouseover指向同一个函数,那么在这个函数被调用,即被触发时,怎么得到是那个div触发的呢?
1个回答
展开全部
假设定义所有div的onmouseover事件触发的函数为:
function overFn(){
// do Something....
}
则有以下办法可以在overFn获知事件是哪个div触发的:
1、函数定义修改:
function overFn(obj){
//obj这参数就是事件源的div
}
在html中,你应该这样来传递obj:
<div onmouseover="overFn(this)">this就代表了当前div</div>
<div onmouseover="overFn(this)">每一个div都只需要传递this</div>
2、同样修改函数定义:
function overFn(e){
// e表示的是鼠标经过事件本身
// 考虑兼容性获取事件源div
// obj就是取得的事件源,也就是发生鼠标经过事件的div
var obj = e.target || window.event.srcElement;
}
在html中,你应该这样传递事件:
<div onmouseover="overFn(event)">event就表示发生的事件,它会携带很多信息,方便你在函数中使用</div>
<div onmouseover="overFn(event)">每一个div都只需要传递event,不要传别的</div>
function overFn(){
// do Something....
}
则有以下办法可以在overFn获知事件是哪个div触发的:
1、函数定义修改:
function overFn(obj){
//obj这参数就是事件源的div
}
在html中,你应该这样来传递obj:
<div onmouseover="overFn(this)">this就代表了当前div</div>
<div onmouseover="overFn(this)">每一个div都只需要传递this</div>
2、同样修改函数定义:
function overFn(e){
// e表示的是鼠标经过事件本身
// 考虑兼容性获取事件源div
// obj就是取得的事件源,也就是发生鼠标经过事件的div
var obj = e.target || window.event.srcElement;
}
在html中,你应该这样传递事件:
<div onmouseover="overFn(event)">event就表示发生的事件,它会携带很多信息,方便你在函数中使用</div>
<div onmouseover="overFn(event)">每一个div都只需要传递event,不要传别的</div>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询