window.onload=init;
function init(){
var x=document.getElementsByTagName('a');
for(var i in x){
x[i].onclick=function(){
return confirm('are you sure?');
}
}
}
Peut être exécuté avec succès
Mais l'écrire sous la forme suivante ne fonctionne pas correctement. Le retour false n'est pas capturé lorsque vous cliquez sur Annuler, le lien saute toujours. Pourquoi cela ?
La fonction est la suivante :
window.onload=init;
function init(){
var x=document.getElementsByTagName('a');
for(var i in x){
x[i].onclick=function(){
ask();
}
}
}
function ask(){
return confirm('are you sure?');
}
Écrit sous la forme suivante peut fonctionner correctement :
window.onload=init;
function init(){
var x=document.getElementsByTagName('a');
for(var i in x){
x[i].onclick=ask;
}
}
function ask(){
return confirm('are you sure?');
}
Veuillez me dire la différence entre les trois méthodes d'écriture
Tout d'abord, la personne qui pose la question doit savoir que
confirm('are you sure?')
et cliquer surConfirm
renverratrue
, et cliquer sur return code> renverrafalse
;confirm('are you sure?')
点确定
会返回true
,点返回
会返回false
;然后再说三种写法并没有实质上的区别,只是变着花样返回值而已:
1.你懂
2.ask() 改为 return ask();
3.三种中最好的写法
另外
看题主在研究事件绑定,如果是给一堆有规则的元素,如列表li绑定事件,最好的办法叫
Ensuite, permettez-moi de dire qu'il n'y a pas de différence substantielle entre les trois façons d'écrire, elles changent simplement la valeur de retour :事件委托
1 Vous savez
2 Ask() est modifié en return Ask();
Aussi
délégation d'événements
:La deuxième option est que vous n'avez aucun retour