我有4個無線電輸入。jQuery熱鍵只能使用一次
我給他們分配了熱鍵。 (熱鍵是1,2,3和4)
這裏是我的HTML代碼:
<label>
<input type="radio" value="2" id="1" name="1">[c2]
</label>
<label>
<input type="radio" value="4" id="2" name="1">[c4]
</label>
<label>
<input type="radio" value="1" id="3" name="1">[c1]
</label>
<label>
<input type="radio" value="3" id="4" name="1">[c3]
</label>
和的JavaScript代碼:
$(document).keypress(function(e) {
if(e.charCode == 49) {
console.log("1");
$('input:radio[id=1]').attr('checked',true);
}
if(e.charCode == 50) {
console.log("2");
$('input:radio[id=2]').attr('checked',true);
}
if(e.charCode == 51) {
console.log("3");
$('input:radio[id=3]').attr('checked',true);
}
if(e.charCode == 52) {
console.log("4");
$('input:radio[id=4]').attr('checked',true);
}
});
你也可以看到,我將console.log
事件寫入腳本以便觀察。
對我而言,奇怪的是,我可以通過熱鍵每個單選按鈕選擇一次redio按鈕。
*
如果我按1,它選擇了正確的複選框,並給了我正確的控制檯日誌。
然後我按2,並工作相同。
但是,如果我再次按1,它會給我控制檯日誌,但熱鍵不起作用。
這裏是的jsfiddle: https://jsfiddle.net/f07evno0/
我怎樣才能讓熱鍵工作不止一次在一個會議?
另外看看這個:http://stackoverflow.com/questions/5874652/prop-vs-attr有解釋。 –
你應該擴大這個答案,並解釋爲什麼這個作品與OP的方法相比:) –