event.srcElement在火狐下不兼容,可以怎么处理?

时间:2023-01-31 12:05:05
event.srcElement在火狐下不兼容,可以怎么处理?event.srcElement在火狐下不兼容,可以怎么处理?
上面是我调用js里面的那一段代码,在火狐下执行的时候报event is not defined。

9 个解决方案

#1


loadAcademe这个方法要增加一个参数,接收事件

调用l这个方法的时候传递event参数进去,open也要增加一个参数,将事件对象传进去

非ie浏览器下获取对象用target属性,ie是srcElement

#2


我也试了一下,在火狐下确实不会报event is not defined。但是还是有问题,因为达不到我要的这种效果,弹不出下面的的内容
event.srcElement在火狐下不兼容,可以怎么处理?event.srcElement在火狐下不兼容,可以怎么处理?

#3


我也试了一下,在火狐下确实不会报event is not defined。但是还是有问题,因为达不到我要的这种效果,弹不出下面的的内容

#4


对于事件触发,往往有几种写法,比如 <div onclick="show(this)">
function show(target)
{
    这里的target就是这个div
}

一般都会采用js的写法,比如 <div id="delete">

// IE 
document.getElementById("delete").attachEvent("onclick", deleteUser);
// FF Chrome
document.getElementById("delete").addEventListener("click", deleteUser);
以上写法我就不再说兼容性了吧,如果不会处理的话再说。
function deleteUser(e)
{
var target = e.target || e.srcElement;//这个可以处理兼容性问题
}

#5


引用 3 楼 leayefang 的回复:
我也试了一下,在火狐下确实不会报event is not defined。但是还是有问题,因为达不到我要的这种效果,弹不出下面的的内容

this.contentDiv.style.top = ............. + 6 + 'px';

后面加'px'
this.contentDiv.style.width
this.contentDiv.style.left
this.contentDiv.style.height后都加

#6


引用 5 楼 veryhunger 的回复:
Quote: 引用 3 楼 leayefang 的回复:

我也试了一下,在火狐下确实不会报event is not defined。但是还是有问题,因为达不到我要的这种效果,弹不出下面的的内容

this.contentDiv.style.top = ............. + 6 + 'px';

后面加'px'
this.contentDiv.style.width
this.contentDiv.style.left
this.contentDiv.style.height后都加



后面都加px起什么效果啊?

#7


引用 4 楼 awenhao 的回复:
对于事件触发,往往有几种写法,比如 <div onclick="show(this)">
function show(target)
{
    这里的target就是这个div
}

一般都会采用js的写法,比如 <div id="delete">

// IE 
document.getElementById("delete").attachEvent("onclick", deleteUser);
// FF Chrome
document.getElementById("delete").addEventListener("click", deleteUser);
以上写法我就不再说兼容性了吧,如果不会处理的话再说。
function deleteUser(e)
{
var target = e.target || e.srcElement;//这个可以处理兼容性问题
}



不是很明白啊 ?

#8


引用 7 楼 leayefang 的回复:
Quote: 引用 4 楼 awenhao 的回复:

对于事件触发,往往有几种写法,比如 <div onclick="show(this)">
function show(target)
{
    这里的target就是这个div
}

一般都会采用js的写法,比如 <div id="delete">

// IE 
document.getElementById("delete").attachEvent("onclick", deleteUser);
// FF Chrome
document.getElementById("delete").addEventListener("click", deleteUser);
以上写法我就不再说兼容性了吧,如果不会处理的话再说。
function deleteUser(e)
{
var target = e.target || e.srcElement;//这个可以处理兼容性问题
}



不是很明白啊 ?


哪点不明白?还是全部都不明白?

#9


obj = event.srcElement ? event.srcElement : event.target

在firefox中用event.target

#1


loadAcademe这个方法要增加一个参数,接收事件

调用l这个方法的时候传递event参数进去,open也要增加一个参数,将事件对象传进去

非ie浏览器下获取对象用target属性,ie是srcElement

#2


我也试了一下,在火狐下确实不会报event is not defined。但是还是有问题,因为达不到我要的这种效果,弹不出下面的的内容
event.srcElement在火狐下不兼容,可以怎么处理?event.srcElement在火狐下不兼容,可以怎么处理?

#3


我也试了一下,在火狐下确实不会报event is not defined。但是还是有问题,因为达不到我要的这种效果,弹不出下面的的内容

#4


对于事件触发,往往有几种写法,比如 <div onclick="show(this)">
function show(target)
{
    这里的target就是这个div
}

一般都会采用js的写法,比如 <div id="delete">

// IE 
document.getElementById("delete").attachEvent("onclick", deleteUser);
// FF Chrome
document.getElementById("delete").addEventListener("click", deleteUser);
以上写法我就不再说兼容性了吧,如果不会处理的话再说。
function deleteUser(e)
{
var target = e.target || e.srcElement;//这个可以处理兼容性问题
}

#5


引用 3 楼 leayefang 的回复:
我也试了一下,在火狐下确实不会报event is not defined。但是还是有问题,因为达不到我要的这种效果,弹不出下面的的内容

this.contentDiv.style.top = ............. + 6 + 'px';

后面加'px'
this.contentDiv.style.width
this.contentDiv.style.left
this.contentDiv.style.height后都加

#6


引用 5 楼 veryhunger 的回复:
Quote: 引用 3 楼 leayefang 的回复:

我也试了一下,在火狐下确实不会报event is not defined。但是还是有问题,因为达不到我要的这种效果,弹不出下面的的内容

this.contentDiv.style.top = ............. + 6 + 'px';

后面加'px'
this.contentDiv.style.width
this.contentDiv.style.left
this.contentDiv.style.height后都加



后面都加px起什么效果啊?

#7


引用 4 楼 awenhao 的回复:
对于事件触发,往往有几种写法,比如 <div onclick="show(this)">
function show(target)
{
    这里的target就是这个div
}

一般都会采用js的写法,比如 <div id="delete">

// IE 
document.getElementById("delete").attachEvent("onclick", deleteUser);
// FF Chrome
document.getElementById("delete").addEventListener("click", deleteUser);
以上写法我就不再说兼容性了吧,如果不会处理的话再说。
function deleteUser(e)
{
var target = e.target || e.srcElement;//这个可以处理兼容性问题
}



不是很明白啊 ?

#8


引用 7 楼 leayefang 的回复:
Quote: 引用 4 楼 awenhao 的回复:

对于事件触发,往往有几种写法,比如 <div onclick="show(this)">
function show(target)
{
    这里的target就是这个div
}

一般都会采用js的写法,比如 <div id="delete">

// IE 
document.getElementById("delete").attachEvent("onclick", deleteUser);
// FF Chrome
document.getElementById("delete").addEventListener("click", deleteUser);
以上写法我就不再说兼容性了吧,如果不会处理的话再说。
function deleteUser(e)
{
var target = e.target || e.srcElement;//这个可以处理兼容性问题
}



不是很明白啊 ?


哪点不明白?还是全部都不明白?

#9


obj = event.srcElement ? event.srcElement : event.target

在firefox中用event.target