我有一个JavaScript函数,它位于我的Javacaleder.js文件中,用于Calender。 这个日历在IE和Chrome中运行良好但在FF中不起作用。表明 错误控制台中的错误..“未定义事件”它在event.clientX中显示错误;线 以下是功能..非常感谢.. 下面的函数就像这样调用......
objDiv.style.left = GetControlLeftPosition_jScript() + "px";
function GetControlLeftPosition_jScript() {
var controlLeft = event.clientX;
var pageWidth = document.body.clientWidth;
var spaceinRight = parseInt(pageWidth) - parseInt(controlLeft);
if (spaceinRight > 220) {
return controlLeft
}
else {
return parseInt(pageWidth) - 220;
}
}
答案 0 :(得分:1)
用户点击文本框旁边的按钮,然后显示日历。好。按钮的单击处理程序将接收事件对象作为第一个参数。在那里,你有你的事件对象!
检查是否undefined
,如果是,您可能正在运行旧版本的IE。在这种情况下,请使用window.event
function buttonClickHandler(event) {
var eventObj = event || window.event;
objDiv.style.left = GetControlLeftPosition_jScript(eventObj) + "px";
}
function GetControlLeftPosition_jScript(eventObj) {
var controlLeft = eventObj.clientX;
// ... remaining code.
那就是说,我建议你使用一个抽象这些问题的库,而不是为你提供一个api。像jQuery或Mootools或道场或其他什么东西吸引你的喜好。