我有html按钮"classA","classB"和"classC",我将onclick处理函数分配给我,如下所示.
var classA = document.getElementById('classA');
classA.onclick = filterByClassA;
var classB = document.getElementById('classB');
classB.onclick = filterByClassB;
var classC = document.getElementById('classC');
classC.onclick = filterByClassC;
Run Code Online (Sandbox Code Playgroud)
这三个函数做同样的事情,唯一不同的是类.那么,我可以为这些按钮分配一个功能,每个按钮调用不同的参数.像下面的东西
var classA = document.getElementById('classA');
classA.onclick = filterByClass('classA');
var classB = document.getElementById('classB');
classB.onclick = filterByClass('classB');
var classC = document.getElementById('classC');
classC.onclick = filterByClass('classC');
Run Code Online (Sandbox Code Playgroud)
我知道这是一个函数调用而不是赋值,这是错误的,但有没有办法可以实现这一点,即同时分配函数和传递参数但不调用它?
function filterByClass(className)
{
return function()
{
// Do something with className
console.log(className);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
716 次 |
| 最近记录: |