我正在尝试使用autoNumeric jQuery插件,它有助于jQuery中各种货币的转换。
当我在jsFiddle实例中使用它时,插件本身就能工作。
$(function () {
$('.money').autoNumeric('init', {
aSign: '$',
vMin: '-999999999.99',
nBracket: '(,)'
});
});但是,一旦我将它集成到一个大型遗留项目中,我就开始在第194行收到上面的错误。我知道为什么我会收到错误--没有将字符串传递到negativeBracket函数(negativeBracket(s, nBracket, oEvent)是签名)。相反,它似乎是一个jQuery对象-- e.fn.init1。我搞不懂这是怎么回事。我知道社会人士可能无法作出直接的回应,但我希望(并会接受)被指引往正确的方向,因为到目前为止,我并没有跳出来。
更新
因此,有一些额外的信息,可能会有帮助。它仍然让我困惑于它是如何发生的(不幸的是,下面的答案无助于提供任何额外的洞察力)。当我在autoNumeric中链接时,我用类money将它从任何文本字段中键入。当我在盒子里打字时,它确实起作用了。我能看到格式。然而,当我在一个新的框中选项卡时,我刚刚输入的框在以相同的错误在autoNumeric中命中第152行后完全清除。
@Carlos487 487在他的回答中是正确的,他说我有一个不是字符串的对象。相反,我有一个物体,我相信,它是一个函数。下面是我在Chrome调试器工具中看到的情况:
e.fn.init[1]
> 0: input#price.money required
> context: input#price.money required
length: 1
selector: ""
> __proto__: Object[0]“箭”项目可以进一步扩展。我不知道这是否提供了更多的线索,但至少有点不同。
发布于 2013-10-02 18:35:41
事实证明,这个问题是一个无数的问题,使我看到的错误更加复杂。正在发生的几件事:
还有其他一些随机的疯狂,也需要清理。So...issue解决了!还有更多工作要做,但至少这个障碍已经过去了。谢谢大家的帮助。
发布于 2013-09-25 21:30:26
错误就像
对象中无方法XXXXX
之所以生成,是因为您试图调用obj.XXXX(),而obj不是所需的类型,在您的特殊情况下是一个字符串。
你试过在另一个浏览器,因为旧或IE可能有点麻烦。我将使用chrome developer工具与您的遗留应用程序进行推荐,以查看是否有其他冲突或产生错误。
发布于 2013-09-26 03:54:19
我打赌你用的是第二个库,它干扰了jQuery。它可能已经用自己的函数重写了$。
尝试使用jQuery而不是$
jQuery(function () {
jQuery('.money').autoNumeric('init', {
aSign: '$',
vMin: '-999999999.99',
nBracket: '(,)'
});
});https://stackoverflow.com/questions/19013023
复制相似问题