document.getElementById('div').onmousemove = function(e){web
//--------Chrome, firefox 支持------------------- chrome
document.title=e.clientX+','+e.clientY;windows
//--------IE支持,chrome 支持----------瀏覽器
//相對於頁面的左上角的座標函數
document.title=window.event.clientX+ ',' +windows.event.clientY;spa
//相對於屏幕的左上角的座標firefox
document.title=window.event.screenX +','+windows.event.screenY;orm
//相對於當前元素的座標對象
document.title=window.event.offsetX+','+windows.event.offsetY;事件
}
1.利用arguments解決兼容問題
2.能力檢測方式 解決兼容問題
下面列出了 2 級 DOM 事件標準定義的屬性。
屬性 | 描述 |
---|---|
bubbles | 返回布爾值,指示事件是不是起泡事件類型。 |
cancelable | 返回布爾值,指示事件是否可擁可取消的默認動做。 |
currentTarget | 返回其事件監聽器觸發該事件的元素。 |
eventPhase | 返回事件傳播的當前階段。 |
target | 返回觸發此事件的元素(事件的目標節點)。 |
timeStamp | 返回事件生成的日期和時間。 |
type | 返回當前 Event 對象表示的事件的名稱。 |
下面列出了 2 級 DOM 事件標準定義的方法。IE 的事件模型不支持這些方法:
方法 | 描述 |
---|---|
initEvent() | 初始化新建立的 Event 對象的屬性。 |
preventDefault() | 通知瀏覽器不要執行與事件關聯的默認動做。 |
stopPropagation() | 再也不派發事件。 |
1.啥叫取消默認事件?
先看一段僞碼
function(){
if("密碼格式錯誤"){
alert("密碼格式錯誤!");
取消默認事件
}
} 什麼叫取消默認行爲呢?換句話說,若是就是在鏈接上 阻止瀏覽器執行鏈接轉移到新的地址,若是在表單上用,就是阻止表單提交。
2.具體作法
在沒有使用事件監聽器時,(直接把事件處理綁定到元素上)。
能夠直接return false; 就能夠取消默認事件。
對於使用事件監聽器,addListener(document.getElementById("frm"),'submit',方法名);
就提供了另外一種函數 preventDefault();
ie下
window.event.returnValue = false;
document.getElementById('dv').onmousedown=function(){
if(window.event.altKey){
按下了alt鍵;
}else if(window.event.shiftKey){
按下了shift鍵
}else if(window.event.ctrlKey){
按下了ctrl鍵
}else{
僅按下了鼠標
}
}