我發現了一個示例任務,當您單擊文檔中的任意位置時,會在頁面上顯示警報。在這個任務中,你只需要編輯display()函數,該函數有兩個參數 - myFunc和myObj,這樣就可以顯示人物對象的名字。我想出了類似的東西,但是警報只在頁面刷新後出現,而不是在每次點擊文檔後出現。單擊eventListener問題
function start() {
var person = {
name : "John"
};
function alertName() {
alert(""+this.name.toUpperCase() + "");
}
document.addEventListener('click', display(alertName, person));
}
function display(myFunc, myObj) {
name = myObj.name;
myFunc();
}
start();
這裏是提琴:
function start() {
var person = {
name : "John"
};
function alertName() {
alert(""+this.name.toUpperCase() + "");
}
document.addEventListener('click', start(alertName, person));
}
function display(myFunc, myObj) {
name = myObj.name;
myFunc();
}
start();
body {
background-color:yellow;
}
<body>
</body>
這不是事件偵聽器的工作方式。您不必在回調中選擇參數。另外,由於包含了參數,所以在聲明事件偵聽器時執行函數_at。你需要傳遞一個_reference到一個function_。你在技術上做的是將display()函數的_result作爲回調參數。這是沒有意義的,因爲該函數不返回任何東西。而你的小提琴不起作用,因爲你調用了一個不存在的函數,並且它與這裏的示例不匹配。在發佈之前檢查你的東西:-) – ADyson
那裏沒有jquery - 你打算單獨使用jquery還是javascript? –