如何通过javascript来实现这个难题?
需求:
1.按住 ctrl ,然后依次单击 table 中的 不同的td ,从而使多个td被选中并高亮显示;
2.然后这些选中的td能接受一次onclick 事件,输出所有选中td的内容;
<table>
<tr>
<td> 1 </td>
<td> 2 </td>
<td> 3 </td>
<td> 4 </td>
<td> 5 </td>
<td> 6 </td>
<td> 7 </td>
</tr>
<tr>
<td> 8 </td>
<td> 9 </td>
<td> 10 </td>
<td> 11 </td>
<td> 12 </td>
<td> 13 </td>
<td> 14 </td>
</tr>
</table>
------解决方案--------------------试一下用event.keyCode写呢
------解决方案--------------------给每个td加onclick,被次click将此ID保存到某个地方..
然后..
------解决方案-------------------- function keyShow(e){
if (window.event){
alert(window.event.ctrlKey);
}else{
alert(e.ctrlKey);
}
}
document.onclick = keyShow;
基本思路就这样了,if else里省略n行
------解决方案--------------------你的td加多3个属性,一个是ID,一个是bgColor,然后一个是primaryColor这样,
事件就用:
document.keydown = f_keydown;
function f_keydown(){
if(event.keyCode == 17){
//点击时候将对应ID的BGCOLOR切换,再点就可以读会primaryColor设回原来的颜色
//记录你点过的内容就行了
}
}
------解决方案-------------------- <style>
.tdChange{
cursor:hand;
background-color:red;
}
.tdDefault{
cursor:hand;
background-color:white;
}
</style>
<script>
document.onkeydown=function(){
if (event.ctrlKey){
document.onclick = function(){
if (event.srcElement.tagName== "TD "){
event.srcElement.className == "tdDefault "?event.srcElement.className = "tdChange ":event.srcElement.className = "tdDefault "
}
}
}
}
function fnc(){
var objTd=document.getElementById( "tabA ").getElementsByTagName( "TD ");
for (var i=0;i <objTd.length;i++){
if (objTd[i].className == "tdChange "){
alert (objTd[i].innerText)
}
}
}
</script>
<table id= "tabA ">
<tr>
<td class= "tdDefault "> 1 </td>
<td class= "tdDefault "> 2 </td>
<td class= "tdDefault "> 3 </td>
<td class= "tdDefault "> 4 </td>
<td class= "tdDefault "> 5 </td>
<td class= "tdDefault "> 6 </td>
<td class= "tdDefault "> 7 </td>
</tr>
<tr>
<td class= "tdDefault "> 8 </td>