2016-11-23 7 views
-1

に1つのli要素を複製開催します私が何かをクリックしたときにのみ、この宿題のために必須であるCtrlを伴わない別のリストに行くところまで来た。 私がこれまで持っているもの、私は、スクリプトをアップロードします:可能な限りコードの最低額でそれを行う方法についてにOnclickは、Ctrlキーを押しながら、私は、1つのULリストの項目をクリックしたときに、基本的に私は何をする必要があるか、であるので、それを複製する必要があり、そのコピーを別のリストに移動する必要があり、別のリスト

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; 

任意の提案を?私はそれのために別のイベントを作成する必要があることを意味する、私は失われている、助けてくれてありがとう!あなたが言ったように私が理解するには

+0

可能な重複[キーはjQueryを使ってクリックイベント中に押された場合、私は確認することができますどのように?](http://stackoverflow.com私はjqueryの必要はありません/質問/ 2445613 /どのように缶-I-チェック-IF-キーでプレス-時のクリック・イベントと-jqueryの) – CBroe

+0

は、私にはよくそして...に応じて –

+0

javascriptを必要としますはい、あなたは正しいです、それらの2つのコードを1つに結合する方法はありますか? – CBroe

答えて

0

ctrlキーが押下されている場合はli要素がクリックされました。基本的にはctrlキーが押されされているかどうかを検出するような方法はありません。しかし、このトリックはkeydownではtrueを返し、keyupでは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 
    } 
} 
+0

それを書き直す –

+0

はいできます。すべてのコードをコピーして、私がコメントした場所に貼り付けてください。// Ctrlキーが押されているので、ここでコードを実行してください。それは完璧に動作します。 私の答えをupvoteすることを忘れないでください –

関連する問題