我正在尝试将DOM元素传递给函数而没有任何运气。FireBug报告以下问题:
SyntaxError: missing ] after element list
LlenarDetalleReserva([object HTMLInputElement]); return false;
选择器在创建时需要动态添加一些属性。
我尝试了以下方法:
$('#mySelector').attr({'onkeydown' : 'intOrFloat(event,this.value);', 'onchange' : 'LlenarDetalleReserva('+ $.trim($('#cant_r_'+ vectorid[2])[0]) +'); return false;'});
我在这里想念什么?是什么导致此错误?
提前致谢。
拜托,不要那样做。使用on()
绑定事件的元素。切勿直接将其设置为属性。
$('#mySelector')
.on('keydown', function(event)
{
intOrFloat(event, this.value);
})
.on('change', function(event)
{
if (vectorid && vectorid[2] != undefined)
{
var element = $('#cant_r_'+ vectorid[2]);
if (element.length > 0)
{
LlenarDetalleReserva(element);
}
}
return false;
});
上面的代码(充满if
s)是为了避免在运行时发生异常。那就是我在你的情况下要做的。此外,我真的不知道您想在该$.trim()
函数中获取什么,但是似乎您想获取该元素并将其作为字符串传递。在上面的代码中,它通过引用传递。
更新:
为了回答OP的问题,为什么我不应该直接设置属性,我没有告诉你不能直接添加属性,而是将事件处理程序作为属性。 ,因此实际上,它可以作为属性添加。但这不是最佳实践,它是不引人注目的方法的一部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句