1

我正在使用 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

4

2 回答 2

1

getElementByClassName返回一个类似数组的结构。您应该遍历它们并以这种方式绑定事件。

于 2012-10-16T12:43:29.640 回答
1

您可以遍历返回的 NodeList (每次循环时getElementsByClassName调用),或者根据 API 文档委托事件处理程序:snack.listener

var params = {
  node: document.body,
  event: 'click',
  delegate: function (node){
    return node.getElementsByClassName('qty')
  }
}
snack.listener(params, someFunction);
于 2012-10-16T12:45:02.670 回答