[英]Attach event handler to function
在下文中,我將click事件分配給func()。 當我加載頁面時,將顯示警告框。 有人可以解釋為什么觸發該事件嗎? 幕后到底發生了什么? DOM加載時是否觸發與函數相關的所有事件?
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
window.onload = function initialize() {
func.click += handler();
}
function handler(e) {
alert('clicked');
}
function func() {
}
</script>
</head>
<body>
</body>
</html>
在JavaScript中,函數是一階公民。 意思是,它們的行為就像變量。
handler
是保存您的函數的“變量”。 handler()
調用該函數並返回一個值-在這種情況下undefined
。
func.click
不是事件,它只是一個屬性。 您可以將屬性附加到JavaScript中的任何變量/對象上。 它沒有特殊含義。
另外,
func.click
不存在,所以執行
+=
可能會給您一個錯誤,因為它是
undefined
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.