有人可以解釋我是什麼這行代碼的意思是:爲什麼這個事件處理程序使用「e = e || event」?
function(e) { e = e || event; e.returnValue = false; return false; }
爲什麼參數命名e
?
如果我將其更改爲「myparam」,它會起作用嗎?
e = e
是什麼意思?
變量event
(在||
之後)聲明的位置在哪裏? 什麼是e.returnValue?
有人可以解釋我是什麼這行代碼的意思是:爲什麼這個事件處理程序使用「e = e || event」?
function(e) { e = e || event; e.returnValue = false; return false; }
爲什麼參數命名e
?
如果我將其更改爲「myparam」,它會起作用嗎?
e = e
是什麼意思?
變量event
(在||
之後)聲明的位置在哪裏? 什麼是e.returnValue?
這是所有的基本事件管理,雖然它缺少e.preventDefault()
...
要打破它,當一個事件處理程序被觸發:
window.event
(這裏訪問的只是event
,這是危險的,因爲它依賴於存在沒有這個名字CAL變量)接下來,e = e || event;
是說:「如果該參數不獲通過,它默認爲||
後,凡是」的標準方式。在這種情況下,如果事件參數沒有通過,那麼它會查找全局變量。
e.returnValue
是阻止事件導致其默認操作的三種方法之一。另外兩個是e.preventDefault && e.preventDefault()
(這在你發佈的代碼中顯然不存在),並且return false;
這段代碼測試是否存在e
對象,否則使用對象event
並將其分配給e。之後,它將屬性returnValue
設置爲false並返回false。
這是以相同的方式在IE和其他瀏覽器上運行的代碼,無論事件對象被稱爲e
或event
。
我發現「設置爲e」模棱兩可 - 哪種方式是分配?也許「分配給e」會更清楚...... – 2013-03-21 00:01:12
這行只是爲了讓IE8和其它瀏覽器的功能相同。所有其他瀏覽器將目標元素(e
)傳遞給事件函數。
那麼這段代碼的作用是:
如果e
存在,保持e
。如果它不存在,則使用舊版本的IE,並將windows.event
對象分配給e
。現在所有瀏覽器的行爲都是一樣的。
記得一次提出一個問題。並先搜索。 – 2013-03-21 00:13:08
這是一個問題。其他人只是爲了澄清這個問題的含義! – 2013-03-21 00:14:22