JS ????, onclick? ???? ?? ??? ?? ??? ? ??? onclick=function(){fn(p)} ???? ???? ?? ??? ???? ?????. ????? ??? onclick=fn();? ?? ?? ??? ? ????.
?? ??? ?????? ?????
擁有18年軟件開發(fā)和IT教學經(jīng)驗。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項目經(jīng)理、高級軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
onclick
? ??? ??? ?? ????? ?? ??? ?? ???? ? ????. onclick
其實是可以直接綁定有參數(shù)的函數(shù),如下:
const input = document.getElementById('input');
input.onclick = function(params){
console.log(params);
};
但是,請注意,你的需求是執(zhí)行函數(shù)fn(p)
,執(zhí)行的結(jié)果是返回一個值,而不是一個函數(shù)。onclick
作為點擊時的回調(diào)事件,如果綁定,是一定要綁定一個函數(shù)的,而不是一個值。如下:
input.onclick = function(){
fn(p);
};
這里的意思是,給input綁定一個onclick
事件,這個事件是一個函數(shù),點擊時,回調(diào)就被執(zhí)行了,意味著函數(shù)也被執(zhí)行了,函數(shù)執(zhí)行時,其中的語句fn(p)
???
fn(p)
??? ???? ???, ?? ??? ??? ?? ?? ???? ????. onclick
? ?? ? ?? ??????. ???? ?? ?? ?? ??? ?????? ???. ??? ????: ??
???
?????? ??? onclick
???? ??? ????? ????. ? ???? ???? ??? ?????. ?, ??? ??? ??? ?????. fn(p)
?? ?????. ??