Estoy usando una biblioteca de git para un teclado virtual . La biblioteca tiene un archivo llamado jkeyboard.js que contiene (en parte) el siguiente código:
type: function (key) { var input = this.settings.input, val = input.val(), input_node = input.get(0), start = input_node.selectionStart, end = input_node.selectionEnd; var max_length = $(input).attr("maxlength"); if (start == end && end == val.length) { if (!max_length || val.length < max_length) { input.val(val + key); } } else { var new_string = this.insertToString(start, end, val, key); input.val(new_string); start++; end = start; input_node.setSelectionRange(start, end); } input.trigger('focus'); if (shift && !capslock) { this.toggleShiftOff(); } return key; // added myself },El código completo para jkeyboard.js se puede encontrar aquí
También tengo mi propio archivo my_file.js con lo siguiente:
$(document).ready(function() { $('#keyboard').jkeyboard({ // basic setup from docs input: $('#search_field') }); });¿Cómo llamo al código en jkeyboard desde mi archivo y obtengo el carácter que se presionó en el teclado virtual? Los documentos están bastante vacíos y no pude encontrar nada en línea. No soy el mejor en JavaScript. Cualquier ayuda sería apreciada. Gracias
¿Qué quieres decir con código de llamada en jkeyboard? si el código ya está en función, solo puede llamar a su archivo js usando su nombre de función. o puede modificar el código, hacerlo funcionar dentro y llamarlo
function_name(response){ ... // do with response }y asegúrese de que su secuencia de comandos jkeyboard esté encima de su secuencia de comandos js
<script src="jkeyboard.js"></script> <script src="your_js.js"></script>o la forma más sencilla simplemente intente obtener valor del elemento de entrada.
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Keyboard Example</title> <link rel="stylesheet" href="../lib/css/jkeyboard.css"> <style> body{ background: #144766 } .hidden-keyboard{ visibility: hidden; } </style> </head> <body> <input type="text" class="hidden-keyboard" id="input-field"> <div id="keyboard"></div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="../lib/js/jkeyboard.js"></script> <script> $('#keyboard').jkeyboard({ layout: "english_capital", input: $('#input-field'), customLayouts: { selectable: ["english_capital"], english_capital: [ ['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P',], ['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L',], ['Z', 'X', 'C', 'V', 'B', 'N', 'M', '\'', '.'], ['space', '-', 'backspace'] ], } }); $(document).on("click", "#keyboard", function(){ var value_input = $("#input-field").val() console.log(value_input) }) </script> </body> </html>