JavaScriptモードで対応する括弧を自動挿入する設定

( を入力したときに () としたり、
{ を入力したときに {} が自動的に挿入されるようにする設定。
parenthesis.el
僕の.emacsから該当箇所はこんな感じ。

;;; 対応する括弧を自動挿入する
;; http://d.hatena.ne.jp/khiker/20071031/elisp_parenthis
(require 'parenthesis)
.
.
;;; javascript-mode の設定
(autoload 'javascript-mode "javascript" nil t)
(add-to-list 'auto-mode-alist '("\\.\\(js\\|as\\|json\\|jsn\\)\\'" . javascript-mode))
(setq javascript-indent-level 2)
;; 対応する括弧を自動挿入する
(add-hook 'javascript-mode-hook
          '(lambda()
             ;; { で{}を書く
             (define-key javascript-mode-map "{" 'insert-braces)
             ;; ( で()を書く
             (define-key javascript-mode-map "(" 'insert-parens)
             ;; " で""を書く
             (define-key javascript-mode-map "\'" 'insert-single-quotation)
             ;; " で""を書く
             (define-key javascript-mode-map "\"" 'insert-double-quotation)
             ;; [ で[]を書く
             (define-key javascript-mode-map "[" 'insert-brackets)
             ))

モードごとに設定するんじゃなくて、
どのモードでも自動挿入されるようにしたいなぁ。
どうすればいいんだろ。
http://www.pqrs.org/~tekezo/emacs/doc/keyjack-mode/index.htmlとかでいけるのかな。
あと \ が直前にあるときは自動挿入しないようにしたいかも。
\ が直前にあるときって、
\( みたいにエスケープされるときがほとんどだと思うので。

追記

コメントで指摘して頂いたので、ソースを一部修正しました。
続き→JavaScriptモードで対応する括弧を自動挿入する設定 その2 - gan2 の Ruby 勉強日記