解決火狐瀏覽器iframe的focus和blur事件觸發無效問題
<!DOCTYPE html> <script> function setit(){ if(document.all){ document.getElementById("myframe").attachEvent("onblur",dothis); }else{ document.getElementById("myframe").contentWindow.addEventListener("blur",dothis,false); } } function dothis(){ alert("blurred"); } </script> <body onload="setit()"> <iframe width="155" height="144" id="myframe"></iframe> <input />
(以上程式碼轉載自: http://www.111cn.net/wy/js-ajax/72696.htm )
其中document.all為IE的屬性,用來判斷是否為IE瀏覽器。
以上程式碼在chrome中同樣適用。
具體的新增事件格式為如下:
Mozilla中:
addEventListener的使用方式:
target.addEventListener(type, listener, useCapture);
target: 文件節點、document、window 或 XMLHttpRequest。
type: 字串,事件名稱,不含“on”,比如“click”、“mouseover”、“keydown”等。
listener :實現了 EventListener 介面或者是 JavaScript 中的函式。
useCapture :是否使用捕捉,一般用 false 。例如:document.getElementById("testText").addEventListener("keydown", function (event) { alert(event.keyCode); }, false);
IE中:
target: 文件節點、document、window 或 XMLHttpRequest。
type: 字串,事件名稱,含“on”,比如“onclick”、“onmouseover”、“onkeydown”等。
listener :實現了 EventListener 介面或者是 JavaScript 中的函式。 例如:document.getElementById("txt").attachEvent("onclick",function(event){alert(event.keyCode);});