0

我已经在网页中实现了 Google FastButton 脚本。下列的:

尝试实现谷歌的快速按钮

代码效果很好。我的问题是如何为多个按钮实现此功能。我有几个动态创建的按钮。我不想用自己的功能定义每个按钮。我可以将此脚本与另一个传递一些变量的函数一起使用吗?

例如,<button id="quick" onclick="someFunction(24);">button</button>

当前实施

new FastButton(document.getElementById('quick'), function() {
       alert("hello");
    });
<button onclick="onLayerClick(8)">8</button>
4

1 回答 1

1

这是一种方法:根据您粘贴的链接,FastButton 原型接受一个函数作为其第二个参数 ( this.FastButton = function(element, handler)) 并将点击事件传递给该函数。因此,如果您执行以下操作:

HTML:

<button id="quick">24</button>

JS:

var myHandler = function(event) {
    var el = event.target;
    console.log(el.innerHTML);
}

new FastButton(document.getElementById('quick'), myHandler);

然后该myHandler()函数将可以访问单击事件起源的 DOM 元素 ( event.target),这将是单击的任何按钮。因此,您将可以访问该按钮的 innerHTML,或者您可以data-mynumber="24"在按钮上放置一个属性并使用el.getAttribute("data-mynumber")而不是el.innerHTML...但是您想要识别按钮取决于您。

于 2013-02-07T05:19:10.063 回答