2011-01-11 7 views
1

私と友人はデベロッパーがキーショートカットを簡単に追加できるjQueryのプラグインを作成しています。私たちは主要コンボに関する問題を抱えています。同じセレクタをページ上で複数回呼び出すと、問題が発生しているようです。jKey(JavaScriptキーショートカットプラグイン)問題

alt + a ...を試してみると、それは一度動作することがわかりますし、すべてがマングアップします。誰でもそれを修正する方法を知っていますか?それは修正された後githubになるだろうと私は著作権情報でヘッダーでこれを修正することができます誰にでもリンクする "ありがとう"を追加することを嬉しく思います:)

それはうまく文書化され、私はすべてのコードがここに詰めてください。だから...誰?

http://jsbin.com/azaha4

- UPDATE -

が固定されていて、それが今だ:

のGithub: http://github.com/OscarGodson/jKey

フル・ドキュメンテーション: http://oscargodson.com/labs/jkey/

+0

おっと、申し訳ありませんが、私はそれを固定しました。それは主要なショートカットであると考えられていた。私はリンクがスクリプトのより良い記述であると信じています。 –

+0

あなたは "for ... in"ループをたくさん使っているようです - それらは本質的に壊れやすいからです。しかし、コードをすばやくスキャンすると、あなたは完全に狂気ではないことがわかります。それはやや近くに – Pointy

+0

何か提案はありますか?もともと私はアイデアを持っていたときに私はこれを構築する方法についてのヒントを投稿し、1人だけが回答し、その人はこのようなキーコンボを実行することは不可能なので、私たちはしばらくそれをハッキングしている:おそらくそれを混乱させるかもしれません。 –

答えて

2

スクラッチこと、問題はkeyup()eによって引き起こされます通気孔ハンドラは呼び出されていませんが、削除したe.preventDefault呼び出しに起因するものではなく、同じ問題があります。

それを実感してください - あなたはコールバックで警告することはできません。これにより、イベントチェーンが壊れます。アラートを削除し、代わりにHTMLを介してユーザーに通知すると、すべて正常です。

+0

私はあなたに何かを考えます。間違いなく、クリアされていないアクティブなキーと関係がある。 – Loktar

+0

ええ、keyupイベントハンドラが確実に起動しません。私はそれが発砲するのを妨げているものを判断しようとしています。それは、それが信頼できないイベントハンドラだと言っている記事の束を読んでいます。 –

+0

何が起きているかは、最初に起動するか、アラートを投げ込むか、そこにログインするように見えます。最初のキーが何であっても、各機能が初期化されるたびに6回警告されます。その後、もう発火しません。 – Loktar