[英]Assign anonymous function to onchange
我有以下代碼:
var select = document.getElementById('test');
select.onchange = (function() {
alert(select.options[0].value);
})();
我正努力做這項工作,但沒有運氣。 我希望這個匿名函數在加載時觸發,然后應該對change事件起作用。 任何人都可以解釋我為什么不工作?
問題是你們都定義了一個函數並在之后立即調用它,將結果分配給onchange
。 只需刪除parens來指定一個函數:
select.onchange = function() {
alert(select.options[0].value);
};
如果你想立即觸發這個函數,將整個表達式包裝在parens中,然后調用它:
(select.onchange = function() {
alert(select.options[0].value);
})();
...由於賦值操作的結果是賦值,在這種情況下,它是一個函數。
您無法分配該功能並同時調用它。 它沒有任何意義。 首先分配它:
var select = document.getElementById('test');
select.onchange = function() {
alert(select.options[0].value);
};
其實你是JSFiddle的例子在這里很好。 ;-)
然后,如果你想在頁面加載時調用它,只需執行它,但在分配之后;
select.onchange();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.