Cześć, mam kilka przycisków oznaczonych A-G. Identyfikatory na przyciskach są następujące.

"btn_A"
"btn_B"
"btn_C"
etc...

Uruchamiam funkcję keyup w następujący sposób.

$(document).keyup(function (event) {
     var theButton =  "btn_"+String.fromCharCode(event.keyCode);
     alert(theButton)
});

To daje mi prawidłowe przyciski „id”, ale jak mogę coś zrobić z przyciskiem. Na przykład zdobądź text() z niego lub hide() itd.

Przyciski są zdefiniowane w następujący sposób:

<button id="btn_A">A</button>
<button id="btn_B">B</button>
<button id="btn_C">C</button>

To, co próbuję zrobić, to gdy ktoś naciśnie właściwy klawisz na klawiaturze, odpowiedni przycisk ukryje (). Na przykład, jeśli nacisnęliby "A", przycisk A by się schował.

1
user781657 17 luty 2012, 22:55

2 odpowiedzi

Najlepsza odpowiedź

Po prostu upuść jeden z tych na końcu swojej funkcji:

$('#'+theButton).text();
$('#'+theButton).hide();

Selektor $('#'+element_id_here) jQuery jest tym, czego szukasz.

3
Elliot B. 17 luty 2012, 23:04

Spróbuj uzyskać dostęp do elementu za pośrednictwem obiektu zdarzenia.

alert($(event.target).text());

Ponadto to, co faktycznie robisz, to delegowanie wydarzeń, więc coś takiego będzie działać (w jquery 1.7)

$(document).on("keyup","[id^=btn]",function(){
  var theButton =  "btn_"+String.fromCharCode(event.keyCode);
  alert(theButton);
  alert($(this).text());
});
0
Kevin B 17 luty 2012, 22:57