我正在使用SnackJS API。我需要将一个事件附加到每个输入元素(文本框),类名为" qty"。我无法使用id属性,因为它是动态生成且唯一的,并且被其他东西使用:
<script type="text/javascript">
snack.ready(function () {
// Do your work.
// Attach an event to QTY Textbox elements.
var listener = snack.listener({
node: document.getElementsByClassName("qty"),
event: 'blur'
}, function () {
alert("hello, element.");
});
listener.detach();
listener.attach();
});
</script>
如何使用getElementByClassName
?
答案 0 :(得分:1)
getElementByClassName
返回类似数组的结构。你应该遍历它们并以这种方式绑定事件。
答案 1 :(得分:1)
您可以循环遍历getElementsByClassName
返回的NodeList(每次循环时调用snack.listener
),或按照the API documentation委托事件处理程序:
var params = {
node: document.body,
event: 'click',
delegate: function (node){
return node.getElementsByClassName('qty')
}
}
snack.listener(params, someFunction);