将JavaScript函数分配给DOM元素

7

我正在使用MSHTML库通过MSHTML.HTMLDocument解析HTML。

我的问题是:是否有一种方法将JavaScript函数分配给DOM元素? 我尝试过类似以下的内容:

div.onmouseover = "function(){alert('mouseover')}"

and

div.setattribute "onmouseover" , "function(){alert('mouseover')}"

没有成功(没有错误,但也没有效果)。

有什么想法吗?这是否可能?

7个回答

5

在JavaScript中,始终使用函数而不是附加代码字符串。您可以通过分配匿名函数来实现此目的。该函数接收一个事件对象作为其唯一参数,该对象包含有关事件的信息,如果您需要知道鼠标所在位置的x / y位置。

div.onmouseover = function(event) {
    //do stuff
};

1

您尝试过不使用匿名函数吗?例如,使用以下代码代替

div.onmouseover = "function(){alert('mouseover')}"

使用类似于

的东西

div.onmouseover = "alert('mouseover');"

0

尝试使用

<script>

在你的字符串中加入

标签


0
你正在定义函数但没有调用它。你必须通过包含调用括号来调用该函数。使用。
div.setattribute "onmouseover" , "function(){alert('mouseover')}()"

0

尝试使用,

button.onclick = new Function(“someFunctionName(‘input” + counter + “‘)”); 

使用 new Function 代替 function(){alert("mouseover")},这样可以适用于动态创建的控件。

注意 functionnew Function 之间的拼写差异。


0
div.onmouseover = function(){alert("mouseover")}

-1

试试这个:

div.setattribute "onmouseover" , "alert('mouseover');"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接