这是我的代码。
function postbackOnCheck() {
var o = window.event.srcElement;
if (o.tagName == 'INPUT' && o.type == 'checkbox' && o.name != null && o.name.indexOf('CheckBox') - 1)
{
__doPostBack("", "");
}
}
我做了一些研究。发现window.event.srcElement在firefox中无法使用。所以我将编码更改为..
function postbackOnCheck() {
var o = window.event.srcElement || e.target;
if (o.tagName == 'INPUT' && o.type == 'checkbox' && o.name != null && o.name.indexOf('CheckBox') - 1)
{
__doPostBack("", "");
}
}
但仍然无法正常工作。希望有人能帮助我。
最佳答案
window.event
在 Firefox 中不存在,因此如果您尝试访问 window.event.srcElement
将会抛出错误。即使它有效,您也从未在任何地方定义 e
,因此 e.target
也会出错。
在与 W3C 兼容的浏览器中,事件对象作为第一个参数传递给事件处理程序。在 IE 中,可以通过 window.event
访问它。
因此,要获取对偶数对象的引用,我们必须这样做:
function eventHandler(event) {
// if `event` is not defined, we fall back to `window.event`
event = event || window.event;
}
要获取触发事件的元素的引用,我们必须在 W3C 兼容浏览器中访问 event.target
,在 IE 中访问 event.srcElement
:
// if `event.target` is not defined, we fall back to `event.srcElement`
var target = event.target || event.srcElement;
了解事件处理和浏览器差异的一个很好的来源是 quirksmode.org .
关于javascript - window.event.srcElement 无法在 mozilla firefox 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13525317/