Javascript 触发函数时随机化类的事件处理程序
我有一个事件处理程序,它有6个作为类名输入的参数。当我启动函数时,它会直接打印出所有六个参数 因此,我试图创建一个包含类的数组,但这不起作用。 阵列正在调用内部索引值的控制台日志寄存器。。。但是屏幕上没有魔法。 有什么想法吗Javascript 触发函数时随机化类的事件处理程序,javascript,Javascript,我有一个事件处理程序,它有6个作为类名输入的参数。当我启动函数时,它会直接打印出所有六个参数 因此,我试图创建一个包含类的数组,但这不起作用。 阵列正在调用内部索引值的控制台日志寄存器。。。但是屏幕上没有魔法。 有什么想法吗 function AddEvent(){ var AddEvent = "add"; var addClassArr= document.getElementsByClassName(AddEvent);
function AddEvent(){
var AddEvent = "add";
var addClassArr= document.getElementsByClassName(AddEvent);
for(var i=0; i<addClassArr.length; i++){
var addClass = addClassArr[i];
addClass.addEventListener("click", addDiceEvent, true);
}
var diceArray = ["dice dice-side-one",
"dice dice-side-two",
"dice dice-side-three",
"dice dice-side-four",
"dice dice-side-five",
"dice dice-side-six",
"dice dice-side-six"];
function addDiceEvent() {
var sides = diceArray[2];
} }
AddEvent();
函数AddEvent(){
var AddEvent=“添加”;
var addClassArr=document.getElementsByClassName(AddEvent);
对于(var i=0;i我可以自己回答我的问题:)
问题是我在事件调用程序内部创建数组。
虽然不起作用,但这确实奏效了
var Array=["dice dice-side-one",
"dice dice-side-two",
"dice dice-side-three",
"dice dice-side-four",
"dice dice-side-five",
"dice dice-side-six",
"dice dice-side-six"];
var rand = Array[Math.floor(Math.random() * Array.length)];
function addDiceEvent() {
dicesides_func(rand);
最好将功能包装在如下函数中:
function AddEvent(className)
{
var nodes = document.getElementsByClassName(className),
sides = ["dice dice-side-one",
"dice dice-side-two",
"dice dice-side-three",
"dice dice-side-four",
"dice dice-side-five",
"dice dice-side-six",
"dice dice-side-six"],
handleClick = function() {
var sides = sides[2];
}
for (var i=0; i<addClassArr.length; i++) {
var addClass = addClassArr[i];
addClass.addEventListener("click", handleClick, true);
}
}
或者,您可以使用模块模式完成实现隐藏。@MarkDee将在一分钟内创建一个。@Dymond我的答案有什么问题吗?我看到接受的答案从我的跳转到你的。。。
AddEvent('add');