ctrl多选就是返回ctrl选择过的“文件名称”的数组或者字符串。
比如你按住ctrl选择了a b c f t g那么就返回
"a,b,c,f,t,g"这样的字符串,然后对其处理。
另就是用数组
sArray.push("a");
.
.
.
.
.
sArray.push(g);
当然还有其他的办法。
比如你按住ctrl选择了a b c f t g那么就返回
"a,b,c,f,t,g"这样的字符串,然后对其处理。
另就是用数组
sArray.push("a");
.
.
.
.
.
sArray.push(g);
当然还有其他的办法。
解决方案 »
- 关于showModalDialog弹出的页面里的刷新问题
- 帮助修改一行代码让它能在Chrome里运行
- 类似功能如何实现?
- 求一种网页视频播放器~~
- 我有个滑门用的JS,在同一个页面里面用了2次,起了冲突
- 高分求叫一个通过参数来动态创建对象的问题
- 如何用JS调用网页的头部,给个例子,谢谢
- 请问下用js来修改页面meta里面的keywrods description有用吗?
- vbscript 中如何得到 index.html?a=1 里 a 传过来的值
- 如何用javascript做一个公告版 就是像打开163主页就自动弹出来的那个?
- 怎么在js文件中再嵌入一个js文件?
- js如何判断一个框口(网址)正在打开中,如果已打开刚刷新打开的页面,如果没有打开,则链结打开。
<head>
<style type="text/css">
div{ width:100px; height:20px; border:1px solid #CC6666; background-color:#FFFFCC; color:black;cursor:default;}
.selDiv{ background-color:#6666FF; color:white;}
textarea{ width:400px; height:300px;}
</style>
<script language="JavaScript">
<!--
var ar = {
arFileName:[],
arSelDivs:[]
};
function divClk(e){
var evt = e || window.event;
var src = evt.target || evt.srcElement;
if(!evt.ctrlKey){
//alert(src.outerHTML);
for(var p in ar.arSelDivs)
ar.arSelDivs[p].className = "";
src.className="selDiv";
ar.arFileName.length = 0;
ar.arSelDivs.length = 0;
ar.arFileName.push(src.innerText?src.innerText:src.childNodes[0].nodeValue);
ar.arSelDivs.push(src);
document.getElementById("taOut").value=ar.arFileName;
return;
}
//按下ctrlkey
if(src.className == "selDiv"){
src.className = "";
var len = ar.arFileName.length;
for(var i=0;i<len ;i++)
if(ar.arSelDivs[i] == src){
ar.arFileName.splice(i,1);
ar.arSelDivs.splice(i,1);
}
}else{
src.className = "selDiv";
ar.arFileName.push(src.childNodes[0].nodeValue);
ar.arSelDivs.push(src);
}
document.getElementById("taOut").value=ar.arFileName;
}//-->
</script>
</head>
<body>
<script language="JavaScript">
<!--
for(var i=0;i<10;i++)
document.write('<div onselectstart="return false" onclick="divClk(event)" id="div',i,'">filename',i,'</div>');//-->
</script>
<textarea id="taOut"></textarea>
</body>
</html>
<script language="JavaScript" type="text/javascript">
Array.prototype.MoveToTop = function(obj)
{
var __temp = null;
for(var i=0;i<this.length;i++)
{
if(this[i] === obj)
{
__temp = this.splice(i,1);
break;
}
}
if(__temp != null)this.push(__temp);
}var arr = [];function divClick(theDiv)
{
if(!event.ctrlKey)
{
if(arr.length)
{
arr[arr.length].style.border = "1 solid #CCCCCC"; //未选中时状态颜色
return;
}
}
resetAllDiv();
arr.MoveToTop(theDiv);//压入数组,把重复的删除,再把新的放在最底
theDiv.style.border = "2 solid #316AC5";//.选中时状态颜色
}
//还原
function resetAllDiv()
{
if(arr.length <= 0)return;
for(var i=0;i<arr.length;i++)
{
arr[i].style.border = "1 solid #CCCCCC";
}
}
</script><div id="d1" style="border:1 solid #CCCCCC;background-color:red; width:100px; width:100px; position:absolute; left:64px; top:17px; height: 35px;" onClick="divClick(this)"></div>
<div id="d2" style="border:1 solid #CCCCCC;background-color:red; width:100px; width:100px; position:absolute; left:62px; top:95px; height: 36px;" onClick="divClick(this)"></div>
<div id="d3" style="border:1 solid #CCCCCC;background-color:red; width:100px; width:100px; position:absolute; left:64px; top:172px; height: 34px;" onClick="divClick(this)"></div>
</body>
<html>
<head>
<style type="text/css">
div{ width:100px; height:20px; border:1px solid #CC6666; background-color:#FFFFCC; color:black;cursor:default;margin:2px;}
.selDiv{ background-color:#6666FF; color:white;}
textarea{ width:400px; height:300px;}
</style>
<script language="JavaScript">
<!--
//添加全局命名空间
var ar = {
arFileName:[],
arSelDivs:[]
};
//处理div的点击事件
function divClk(e){
//获得事件对象
var evt = e || window.event;
//获得事件源对象的引用
var src = evt.target || evt.srcElement;
//处理没按下ctrl键的情况,这时只选择点击到的这个
if(!evt.ctrlKey){
//取消所有已经选择了的div的样式
for(var p in ar.arSelDivs)
ar.arSelDivs[p].className = "";
//设置当前点击的div为选中状态
src.className="selDiv";
//清空文件名和选中div数组
ar.arFileName.length = 0;
ar.arSelDivs.length = 0;
//保存当前选择的div和文件名
ar.arFileName.push(src.childNodes[0].nodeValue);
ar.arSelDivs.push(src);
//输出操作结果
document.getElementById("taOut").value=ar.arFileName;
return;
}
//按下ctrlkey的情况,如果ctrl+click选择的是一个已经选择的对象
if(src.className == "selDiv"){
//取消当前div的选择状态
src.className = "";
var len = ar.arFileName.length;
//在选择对象数组中删除,同时删除该div对应的文件名
for(var i=0;i<len ;i++)
if(ar.arSelDivs[i] == src){
ar.arFileName.splice(i,1);
ar.arSelDivs.splice(i,1);
break;
}
}else{//ctrl+click选择的是一个未选择的对象
//设置为选择状态
src.className = "selDiv";
//保存当前div对应的文件名
ar.arFileName.push(src.childNodes[0].nodeValue);
//添加当前div到已选择的div列表.
ar.arSelDivs.push(src);
}
//输出操作结果
document.getElementById("taOut").value=ar.arFileName;
}//-->
</script>
</head>
<body>
<script language="JavaScript">
<!--
for(var i=0;i<10;i++)
document.write('<div onselectstart="return false" onclick="divClk(event)" id="div',i,'">filename',i,'</div>');//-->
</script>
<textarea id="taOut"></textarea>
</body>
</html>