我正在爲js vanilla編寫一個天氣應用程序,用於功能性編程練習。IIFE和eventListeners如何工作?
在主頁中,您有一個簡單的輸入標記,您可以在其中輸入要預測的城市名稱。當您點擊輸入按鈕時,IIFE(在代碼片段中)被觸發並實際啓動整個應用程序。
現在我不得不與該IIFE一些問題,因爲它的工作原理,但我真的不知道的代碼是如何工作的(也許它是寫一個壞baaaad baaaaaaaad實踐):
怎麼做IIFE知道一個鍵被解除了?好的,我已經在輸入標籤上註冊了一個事件,但是它被寫入了IIFE。那麼,IIFE如何知道事件已經被解僱呢?我的意思是,我沒有將任何事件傳遞給該功能。事件的註冊不應該是IIFE之前的一個步驟?
我覺得很清楚我有點困惑。
(() => {
const input = document.querySelector('.banner__input');
input.addEventListener("keyup", event => {
event.preventDefault();
if (event.keyCode == 13) {
console.log('The city is: ' + input.value);
currentWeather();
threeHoursForecasts();
toggleForecasts();
} \t
});
})();
And this is the input tag:
<input type="text" class="banner__input" value="Milan" autofocus onfocus="this.value = this.value;">
您的代碼中唯一的IIFE,與事件偵聽器沒有任何關係...... –
問題不明確。您的IIFE通過從DOM中選擇輸入並添加事件監聽器來實現副作用。 –