调用并传递Javascript参数作为HTML5数据属性的一部分

时间:2013-02-21 08:42:29

标签: javascript html5 custom-data-attribute

基于Cerbrus的解决方案;

Passing function with custom data attribute

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

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

1 个答案:

答案 0 :(得分:1)

为什么?

我的意思是,是的,如果你想对parens中的内容进行RegEx匹配,用逗号分隔,然后注入它们。但这很疯狂。

为什么不再制作第二个数据属性?

<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);