js组合按键控制选择列表
在网页中列表展示后可以对其进行基本操作,如删除、修改等,传统的做法是用checkbox选择,操作过程麻烦,有一种操作方式更人性化,熟悉windows用户资源管理器文件操作方式一样,按Ctrl或Shift+鼠标等组合操作就可方便的选择列表:
js代码:
function hoverPinInit() {
$(".hover").hover(
function(){
$(this).addClass("hovered")
},
function() {
$(this).removeClass("hovered")
}
)
// 以下为控制组合按键选择
$(".hover").click(function(e) {
var ele = $(this)
if(e.shiftKey){
var startIndex = 0 //默认开始索引
var listBox = ele.parent() //限制事件的范围
var activeE = listBox.find(".active")
var index1 = activeE.first().index() //得到第一次被选中的索引
var cIndex = ele.index() //当前被选中的索引
// 如果没有被选中的元素则默认为从第一个开始选
if(index1!=-1){
startIndex = index1
}
var startI = startIndex
var endI = cIndex
if(startIndex>cIndex){
startI = cIndex
endI = startIndex
}
for(var i=startI;i<=endI;i++){
listBox.find(".hover").eq(i).addClass("active")
}
}else if(e.ctrlKey){
if(ele.hasClass("active")){
ele.removeClass("active")
}else{
ele.addClass("active")
}
}else{
$(".hover").removeClass("active")
ele.addClass("active")
}
})
}
HTML: