0

基于Cerbrus here的解决方案;

具有自定义数据属性的传递函数

是否可以将参数作为自定义属性的一部分传递?所以像;

<div data-myattr="hello(foo)"></div>
4

1 回答 1

1

为什么?

我的意思是,是的,如果你想对括号内的内容进行正则表达式匹配,用逗号分隔,然后注入它们。但这很疯狂。

为什么不创建第二个数据属性?

<div data-command="myFunction" data-params="one,two,three"></div>

然后抓住一切,如:

var command = document.querySelector("[data-command]"),
    vars = command.dataset.params.split(","),
    funcName = command.dataset.command;


window[funcName](vars[0], vars[1], vars[2]);

或者:

window[funcName].apply(undefined, vars);
于 2013-02-21T08:59:55.853 回答