我有一個網頁,當用戶將鼠標移出頁面時會顯示一條消息。除Internet Explorer之外,所有瀏覽器中的所有內容都可以完美運行在Internet Explorer中,我的代碼可以工作,除非用戶單擊表單選擇項。當用戶從下拉列表中選擇一個項目時,clientX和clientY報告的值不正確,這會使我的消息顯示爲用戶將其鼠標移動到頁面外部。該消息應該只在鼠標實際走出頁面時顯示。我已經在使用舊版IE瀏覽器的工作。有沒有人知道解決這個問題的不同方式,以便代碼在舊版IE瀏覽器中正常工作(7-8)?clientX,clientY javascript在Internet Explorer中無法正常工作
這裏是我的代碼:
if (document.addEventListener) {
window.addEventListener("mouseout", popMessage, false);
} else { // IE before version 9
document.attachEvent ('onmouseout', popMessage);
}
.
.
.
.
var mouseX = 0;
var mouseY = 0;
function popMessage (e) {
mouseX = e.pageX;
mouseY = e.pageY;
if ('pageX' in e) { // all browsers except IE before version 9
var mouseX = e.pageX - document.documentElement.scrollLeft;
var mouseY = e.pageY - document.documentElement.scrollTop;
}
else { // IE before version 9
mouseX = e.clientX + document.documentElement.scrollLeft;
mouseY = e.clientY + document.documentElement.scrollTop;
}
if ((mouseY < 0 || mouseY > window.innerHeight-1)
|| (mouseX < 0 || mouseX > window.innerWidth-1))
{
abandonPanel.show();
// alert("x:" + mouseX + " y:" + mouseY + " innerHeight:" + window.innerHeight + " innerWidth:" + window.innerWidth);
if (document.addEventListener) {
window.removeEventListener("mouseout", popMessage, false);
} else { // IE before version 9
document.detachEvent ('onmouseout', popMessage);
}
}
}
檢查您是否處於怪癖或標準模式。 – 2012-10-24 16:42:08