我有一些JavaScript代码:
var update_money = function(money_am){
var d = {'ammount': money_am};
$.post("/adr/", d, load_money)
}
z = parseFloat($('#money').val());
$('#money').change(z, update_money);
执行时,它会给我一个运行时错误:
TypeError:在没有实现接口事件的对象上调用'stopPropagation'。
在调试中,我发现money_am
不是浮点数。这是一个对象。但如果我改变我的代码:
var update_money = function(money_am){
var d = {'ammount': parseFloat($('#money').val())};
$.post("/adr/", d, load_money)
}
效果很好。我该怎么做才能解决这个问题?
答案 0 :(得分:2)
传递给事件处理程序的数据可以由event.data
访问:
var update_money = function(event)
{
var money_am = event.data;
alert(money_am);
var d = {'ammount': money_am};
$.post("/adr/", d, load_money);
}
function load_money() { }
z = parseFloat($('#money').val());
$('#money').change(z, update_money);
答案 1 :(得分:0)
确保parseFloat可以解析money-value:
您可能还想将代码更改为:
$('#money').change(function() {
var z = parseFloat($('#money').val());
load_money(z);
});
这将允许您每次#money-field更改时获得新的金钱价值。而不是总是使用相同的值。与正确定义z。
一起