jQueryでさまざまな通貨を変換するのに役立つautoNumeric jQuery プラグインを使用しようとしています。
プラグイン自体は、jsFiddle の例で使用すると機能します。
$(function () {
$('.money').autoNumeric('init', {
aSign: '$',
vMin: '-999999999.99',
nBracket: '(,)'
});
});
ただし、それを大きなレガシー プロジェクトに統合するとすぐに、194 行目で上記のエラーが発生し始めます。エラーが発生する理由はわかっています。文字列が negativeBracket 関数に渡されていません (negativeBracket(s, nBracket, oEvent)
は署名です)。 . 代わりに、jQuery オブジェクトのようです - e.fn.init 1。これがどのように起こっているのか混乱しています。コミュニティが直接的な回答を提供できない可能性があることは承知していますが、これまでのところ何も飛び出していないので、正しい方向に向けられることを望んでいます (回答として受け入れます)。
アップデート
そのため、役立つ可能性のある追加情報をいくつか用意してください。それがどのように起こっているのか、まだ困惑しています(残念ながら、以下の回答は追加の洞察を提供するのに役立ちませんでした)。autoNumeric にリンクするときは、クラス money を含むテキスト フィールドからキーオフします。ボックスに入力しているときに機能します。フォーメーションが見えます。ただし、新しいボックスにタブで移動すると、入力を終えたばかりのボックスは、autoNumeric の 152 行目に同じエラーが発生した後、完全にクリアされます。
@ Carlos487は、文字列ではないオブジェクトがあると言ったとき、彼の答えが正しかったです。代わりに、関数であると私が信じているオブジェクトがあります。Chrome デバッガー ツールで表示される内容は次のとおりです。
e.fn.init[1]
> 0: input#price.money required
> context: input#price.money required
length: 1
selector: ""
> __proto__: Object[0]
「矢印」の項目はさらに展開できます。これがこれ以上の手がかりを提供するかどうかはわかりませんが、少なくとも少し違うものです.