开发过程中用到了ajax异步加载,加载回来的data是一部分html代码页面,这个页面包括一个js需要调window.event对象,但是提示js错误,window.event缺少对象。求助各位大虾啦~~ 以下这个是发ajax异步的函数: function doAjax(){
......
$.ajax({
beforeSend: function(){
......
},
success:function(data){
......
$( '#dataContainer_id ').html(data);//加载传回来的页面
......
},
error:function(){
......
}
});
...... }
返回来的data页面包含一个onClick的js函数,需要调外层页面的js,如下:
function viewDoubts(id){
var w = 300; // 宽度
var h = 400; // 高度
alert( "window.event= "+window.event); //运行结果:window.event=null
alert( "event.screenX= "+event.screenX); //运行结果:缺少对象
var x = event.screenX - event.offsetX - w/2; // + deltaX;
var y = event.screenY - event.offsetY + 20; // + deltaY;
......
} 运行结果是缺少对象,检验出是window.event对象为null。 尝试过不通过ajax直接调window.event是成功的。 大虾门,怎么解决?
......
$.ajax({
beforeSend: function(){
......
},
success:function(data){
......
$( '#dataContainer_id ').html(data);//加载传回来的页面
......
},
error:function(){
......
}
});
...... }
返回来的data页面包含一个onClick的js函数,需要调外层页面的js,如下:
function viewDoubts(id){
var w = 300; // 宽度
var h = 400; // 高度
alert( "window.event= "+window.event); //运行结果:window.event=null
alert( "event.screenX= "+event.screenX); //运行结果:缺少对象
var x = event.screenX - event.offsetX - w/2; // + deltaX;
var y = event.screenY - event.offsetY + 20; // + deltaY;
......
} 运行结果是缺少对象,检验出是window.event对象为null。 尝试过不通过ajax直接调window.event是成功的。 大虾门,怎么解决?
var e=e||windown.event;
var w = 300; // 宽度
var h = 400; // 高度
alert( "window.event= "+e); //运行结果:window.event=null
alert( "event.screenX= "+e.screenX); //运行结果:缺少对象
var x = event.screenX - e.offsetX - w/2; // + deltaX;
var y = event.screenY - e.offsetY + 20; // + deltaY;
...... //如果后面还有代码,将代码里所有的window.event或event改为e
}
<a href="javascript:viewDoubts('<%=doubtsId%>')">...</a> //这里没有onClick事件
......上例写法在执行过程中没有onClick事件,所以没有能使window.event对象有效的事件发生。修改后如下:......
<a href="#" onClick="javascript:viewDoubts('<%=doubtsId%>')">...</a>
......谢谢两位!