[英]Stating variables in the onClick attribute, and using multiple commands in onClick
那好吧。 在开始之前,我确实搜索了这个,我意识到这个主题还有其他主题,但没有一个很好地回答了我的问题。
所以我想要做的是当一个标签被点击时,它会在 onClick 属性内创建一个变量,可以从一个与 case switch 一起使用的函数访问该变量。
1) 可以在 onClick 属性中创建变量吗?
2) onClick 属性中可以执行多个命令吗? 像: onClick="alert('Boo!'); afunction();"
?
我为缺少代码表示歉意,但我使用的是苹果 iPad,他们不使用标签按钮或缩进,等等等等。这是我尝试过的:
[..omitted..]
var item = "null";
function executeFunction(){
switch(item){
case "item1":
document.getElementById("div1").style.display='block';
document.getElementById("div2").style.display='none';
document.getElementById("div3").style.display='none';
document.getElementById("div4").style.display='none';
break;
case "item1":
document.getElementById("div1").style.display='block';
document.getElementById("div2").style.display='none';
document.getElementById("div3").style.display='none';
document.getElementById("div4").style.display='none';
break;
case "item2":
document.getElementById("div1").style.display='none';
document.getElementById("div2").style.display='block';
document.getElementById("div3").style.display='none';
document.getElementById("div4").style.display='none';
break;
case "item3":
document.getElementById("div1").style.display='none';
document.getElementById("div2").style.display='none';
document.getElementById("div3").style.display=block';
document.getElementById("div4").style.display='none';
break;
case "item4":
document.getElementById("div1").style.display='none';
document.getElementById("div2").style.display='none';
document.getElementById("div3").style.display='none';
document.getElementById("div4").style.display='block';
break;
}
}
</script>
<ul>
<li onClick="item = 'item1'; executeFunction();">Some item</li>
<li onClick="item = 'item2'; executeFunction();">Some other item</li>
<li onClick="item = 'item3'; executeFunction();">Some flying reptile</li>
<li onClick="item = 'item4'; executeFunction();">Some psilocin</li>
</ul>
[..omitted..]
OK,首先可以使用多个命令,用分号隔开; 但是,通常不建议这样做……您可以尝试创建一个主函数或一系列主函数,以便在 HTML 代码中只需要提及一个函数。
然后,你不需要创建变量......试试这个
<li onClick="executeFunction('item1');">Some item</li>
...然后, executeFunction
将是这样的 ...
function executeFunction(item) {
document.getElementById("div1").style.display='none';
document.getElementById("div2").style.display='none';
document.getElementById("div3").style.display='none';
document.getElementById("div4").style.display='none';
switch(item){
case "item1":
document.getElementById("div1").style.display='block';
break;
case "item2":
document.getElementById("div2").style.display='block';
break;
case "item3":
document.getElementById("div3").style.display='block';
break;
case "item4":
document.getElementById("div4").style.display='block';
break;
}
}
做: onClick="var='X'; doThis()"。
用分号分隔 onClick 中的 javascript 命令。
简单地:
onclick="varname = value"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.