Git Product home page Git Product logo

Comments (9)

keithamus avatar keithamus commented on July 30, 2024

You can bypass all of the string matches by passing a full 2D array into the jwertyCode param, like so:

jwerty.key([['/']], function() {
   console.log('test');
});

This is an issue which will be overcome before 1.0, but not quite sure the best way to solve this problem right now.

from jwerty.

mikedfunk avatar mikedfunk commented on July 30, 2024

Thanks, I tried this but when it called input.focus() it inserted a forward slash into the input box. I just left that part with event.keyup in jquery.

from jwerty.

mikedfunk avatar mikedfunk commented on July 30, 2024

Also I think a good way to deal with this would be to escape the character with a backslash, such as '/' comes out to /.

from jwerty.

keithamus avatar keithamus commented on July 30, 2024

Escaping is really a last resort for me, as it makes some ugly looking strings which defeats the point of this lib (to be very readable and self documenting).

The parser already handles these special cases for all but slash; a string like 'ctrl++' or ',,.' parses successfully, but / is a slightly more difficult one to handle generically like this.

from jwerty.

keithamus avatar keithamus commented on July 30, 2024

As an aside, your issue with keyup events is because jwerty.key listens for keydown. When the keydown event fires, you're focusing the input box, then the keypress and finally the keyup events fire, so the browser assumed you want a / in the input. A way to fix this particular problem is the following:

$(document).bind('keyup', jwerty.event([['/']], function () { input.focus(); });

Essentially binding to keyup to do the same job, bypasses event sequence issues.

from jwerty.

mikedfunk avatar mikedfunk commented on July 30, 2024

Thanks for this! I got it working this way, works great. Now typing in the location bar doesn't interfere with keyboard events.

from jwerty.

keithamus avatar keithamus commented on July 30, 2024

Re-opened this because not being able to process the '/' string literal is a genuine issue

from jwerty.

sambenne avatar sambenne commented on July 30, 2024

I had some issues like this with the ' and # keys not working. I then realised that it was but only if I had an american keyboard as with some symbols the ID is different.

from jwerty.

amir20 avatar amir20 commented on July 30, 2024

I have put e.preventDefault() in the callback and it seems to not put / in textbox

from jwerty.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.