dom0事件调用的函数,怎么传入参数

来源:2-8 DOM0级事件

cjq6502

2019-05-23 01:32:03

function changecolor(ele,color) {
ele.style.color = a;
}
var x = document.getElementById('nihao');
x.onclick=changecolor(this,'green');

创建一个改变任意元素颜色的函数,需要传入元素和颜色两个参数。

上面的写法会报错,应该怎么写?

写回答

2回答

好帮手慕慕子

2019-05-23

同学你好, 因为你这里的是在全局中调用changecolor, 所以函数中的this指向了全局对象window, 可以在函数中打印一下,查看this的值, 示例:

http://img.mukewang.com/climg/5ce5f8a00001217c06100240.jpg

打印结果显示this指向window, 所以给window添加color样式会报错。使用DOM0事件不可以根据传入的参数改变元素颜色

http://img.mukewang.com/climg/5ce5f8b10001cf2811300179.jpg

建议: 可以使用HTML事件,实现根据 传入参数,改变任意元素的颜色

http://img.mukewang.com/climg/5ce5f9d30001aa9f10310337.jpg

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~


0

cjq6502

提问者

2019-05-23

function changecolor(ele,c) {
ele.style.color = c;
}
var x = document.getElementById('nihao');
x.onclick=changecolor(this,'green');

更正一下上面代码

0

0 学习 · 40143 问题

查看课程