Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按住Ctrl键单击,将一个li元素复制到另一个列表_Javascript_Html_List_Dom_Space Efficiency - Fatal编程技术网

Javascript 按住Ctrl键单击,将一个li元素复制到另一个列表

Javascript 按住Ctrl键单击,将一个li元素复制到另一个列表,javascript,html,list,dom,space-efficiency,Javascript,Html,List,Dom,Space Efficiency,所以基本上我需要做的是,当我点击一个UL列表项时,按住Ctrl键,它需要复制,复制需要转到另一个列表,到目前为止,我只知道当我点击某个东西时,它会转到另一个列表,没有Ctrl键,这也是这个家庭作业必须的。 我将上传到目前为止的脚本: var usersA = document.getElementById("users-a"); var usersB = document.getElementById("users-b"); var onclickA; var onclickB = funct

所以基本上我需要做的是,当我点击一个UL列表项时,按住Ctrl键,它需要复制,复制需要转到另一个列表,到目前为止,我只知道当我点击某个东西时,它会转到另一个列表,没有Ctrl键,这也是这个家庭作业必须的。 我将上传到目前为止的脚本:

var usersA = document.getElementById("users-a");
var usersB = document.getElementById("users-b");

var onclickA;
var onclickB = function() {
        usersA.appendChild(this);
        this.onclick = onclickA;
        return false;
    };
onclickA = function() {
        usersB.appendChild(this);
        this.onclick = onclickB;
        return false;
    };

for (var i=0; i < usersA.getElementsByTagName("li").length; i++)
    usersA.getElementsByTagName("li")[i].onclick = onclickA;
for (var i=0; i < usersB.getElementsByTagName("li").length; i++)      
    usersB.getElementsByTagName("li")[i].onclick = onclickB;
var usersA=document.getElementById(“users-a”);
var usersB=document.getElementById(“users-b”);
文氏变种;
var onclickB=函数(){
usersA.appendChild(this);
this.onclick=onclick;
返回false;
};
onclickA=函数(){
使用某人的孩子(这个);
this.onclick=onclickB;
返回false;
};
对于(var i=0;i

关于如何用尽可能少的代码实现这一点,有什么建议吗?我的意思是,我是否需要为此创建另一个活动,我迷路了,谢谢您的帮助

照你说的我理解。如果按下
ctrl
键并单击
li
元素。基本上没有这样的方法来检测是否按下了
ctrl
键。但是下面的技巧在keydown时返回true,在keydup时返回false。因此,当按下
ctrl
键时,该键始终为真,直到释放为止

var keys = {};
onkeydown = onkeyup = function(e){
    e = e || event;
    keys[e.keyCode] = e.type == 'keydown';
    if(keys[17] == true){
        //the ctrl key is held down, so run your code here
    }
}

是的,你是对的,有没有办法将这两个代码合并为一个?是的,你可以。只需复制所有代码并将其粘贴到我注释的位置即可
//按住ctrl键,因此在此处运行代码。它将完美地工作。请不要忘记更新我的答案可能重复的我不需要jquery,我需要javascriptWell,然后相应地重写它…