Javascript 为什么我不能设置属性('onclick',function(){…})?

Javascript 为什么我不能设置属性('onclick',function(){…})?,javascript,html,Javascript,Html,我试过这个: A. B 设a=document.getElementById'a'; 设b=document.getElementById'b'; a、 onclick=函数{alert'hi from a';}; b、 setAttribute'onclick',函数{alert'hi from b';}; 单击显示警报。单击B会发出以下错误消息:未捕获的语法错误:函数语句需要函数名。为什么? 属性值是字符串,而不是函数 请改用addEventListener。属性值是字符串,而不是函数 改用

我试过这个:

A. B 设a=document.getElementById'a'; 设b=document.getElementById'b'; a、 onclick=函数{alert'hi from a';}; b、 setAttribute'onclick',函数{alert'hi from b';}; 单击显示警报。单击B会发出以下错误消息:未捕获的语法错误:函数语句需要函数名。为什么?

属性值是字符串,而不是函数

请改用addEventListener。

属性值是字符串,而不是函数


改用addEventListener。

显示此错误是因为setAttribute只是获取字符串而不是函数

如果要添加应该使用的事件,则代码不正确

b.onclick = function(){};

但如果您想要设置onclick属性,则不能设置函数,您可以使用

function bclick() { alert("hi from b"); }
b.setAttribute("onclick", "bclick()");
或者您可以使用toString

b.setAttribute("onclick", (function(){alert("hi from b");}).toString());
但是当我点击它的时候,它没有运行,因为它只是exsit函数没有运行

可以在值中使用字符串

b.setAttribute("onclick", 'alert("hi from b")';

显示此错误是因为setAttribute只是获取字符串而不是函数

如果要添加应该使用的事件,则代码不正确

b.onclick = function(){};

但如果您想要设置onclick属性,则不能设置函数,您可以使用

function bclick() { alert("hi from b"); }
b.setAttribute("onclick", "bclick()");
或者您可以使用toString

b.setAttribute("onclick", (function(){alert("hi from b");}).toString());
但是当我点击它的时候,它没有运行,因为它只是exsit函数没有运行

可以在值中使用字符串

b.setAttribute("onclick", 'alert("hi from b")';
为什么addEventListener而不是分配给onclick?为什么addEventListener而不是分配给onclick?