2013-07-05 46 views
9

trạng:Làm thế nào để bắt đầu vào bàn phím mà không trường nhập có thể nhìn thấy trong JavaScript

  • HTML5 với jQuery Mobile trên iPad (EDIT: Trang HTML5 trong một ứng dụng PhoneGap)
  • bàn phím bên ngoài gắn
  • văn bản trường nhập bị ẩn, không có trường nhập rõ ràng
  • không tập trung vào trường nhập văn bản -> không có bàn phím mềm được hiển thị

Mục tiêu:

  • bắt đầu vào bàn phím mà không hiển thị & tập trung vào một lĩnh vực đầu vào văn bản
  • Bàn phím đầu vào là là những cụm từ biến (ví dụ name1, object2, phrase3)
  • Chỉ cần bắt đầu gõ và trang nên nắm bắt mà gõ

-> Làm thế nào tôi có thể phát hiện các đầu vào bàn phím vào trường nhập ẩn?

Tôi biết các sự kiện KeyDown/bấm phím/KeyUp, tuy nhiên họ dường như đòi hỏi một lĩnh vực đầu vào có thể nhìn thấy

+2

'$ (tài liệu) .on ('keyup', $ .mobile.pageContainer, function() {});' dùng thử. hoặc '$ ('body'). on ('keyup', function() {});' – Omar

+0

đây là một ví dụ làm việc. Nếu đây là những gì bạn cần, hãy cho tôi biết. http://jsfiddle.net/Palestinian/sG9n8/ – Omar

+0

Đối với tôi, cả hai câu lệnh & câu trả lời dưới đây làm cho nó chỉ hoạt động với tiêu điểm trên trường nhập - nhưng nếu trường nhập bị ẩn, không có đầu vào bàn phím bị bắt. bất kỳ cạm bẫy tôi bỏ qua? –

Trả lời

1

Bạn có thể ràng buộc sự kiện để các tài liệu như thế này: -

$(document).bind('keyup', function(e) { 
    alert('testing'); 
}); 
0

Bạn cũng chỉ đơn giản là có thể định vị phần tử off-canvas mà không cần thay đổi trạng thái hiển thị DOM/CSS của nó.

<style> .inputValue{position:absolute;left:-99999px} </style> 
<input type="text" class="inputValue" autofocus="autofocus"/> 

Và sau đó tại bất kỳ thời điểm nào khi bạn yêu cầu giá trị đầu vào bạn gọi tập lệnh bên dưới.

<script> $('.inputValue').val(); </script> 
Các vấn đề liên quan