views:

39

answers:

1

Is there a way to get work .keypress on a div element like this?:

<html>
<body>

<script type="text/javascript">
<!--

$('#idtext').keypress(function(event) {
  var keyCode = event.keyCode;
  $('#idtext').text(function(i, text) {

   return text + String.fromCharCode(keyCode); 

  });

});

// -->
</script>

<div id="idtext"></div>

</body>
</html>
+4  A: 

Yes: you need to add a tabindex attribute to the <div> to allow it to receive the focus.

<div id="idtext" tabindex="1"></div>

Also, the property you want for the character code of the text entered in a keypress event is which, not keyCode.

Finally, the HTML comment tags inside the <script> element are unnecessary in all modern browsers.

Tim Down
mmm doesn't work: http://jsbin.com/aqiza/2
xRobot
The example is way too complicated to say that it's my suggestion that's not working. Simplified: http://jsbin.com/aqiza/7
Tim Down
@xRobot you have mistake change `$('#cmd span');` to `$('#cmd div#mytext');` see http://jsbin.com/aqiza/13
jcubic
Thank you guys :D
xRobot